X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6760cb07d6b57be16928d95339d71e57c4e24f36..510a1b8ab867dfd8ab807b91da8ad45031fdbab2:/examples/gras/mmrpc/mmrpc_server.c diff --git a/examples/gras/mmrpc/mmrpc_server.c b/examples/gras/mmrpc/mmrpc_server.c index f5a164dc4c..afdb861586 100644 --- a/examples/gras/mmrpc/mmrpc_server.c +++ b/examples/gras/mmrpc/mmrpc_server.c @@ -38,11 +38,22 @@ static int server_cb_request_handler(gras_msg_cb_ctx_t ctx, return 0; } /* end_of_server_cb_request_handler */ +static gras_socket_t try_gras_socket_server(int port) +{ + volatile gras_socket_t sock = NULL; + TRY { + sock = gras_socket_server(port); + } + CATCH_ANONYMOUS { + RETHROWF("Unable to establish a server socket: %s"); + } + return sock; +} + int server(int argc, char *argv[]) { - xbt_ex_t e; gras_socket_t sock = NULL; - int port = 4000; + int port = 4002; /* 1. Init the GRAS infrastructure */ gras_init(&argc, argv); @@ -52,21 +63,16 @@ int server(int argc, char *argv[]) port = atoi(argv[1]); } - /* 3. Create my master socket */ - INFO1("Launch server (port=%d)", port); - TRY { - sock = gras_socket_server(port); - } - CATCH(e) { - RETHROW0("Unable to establish a server socket: %s"); - } - - /* 4. Register the known messages and payloads. */ + /* 3. Register the known messages and payloads. */ mmrpc_register_messages(); - /* 5. Register my callback */ + /* 4. Register my callback */ gras_cb_register("request", &server_cb_request_handler); + /* 5. Create my master socket */ + XBT_INFO("Launch server (port=%d)", port); + sock = try_gras_socket_server(port); + /* 6. Wait up to 10 minutes for an incomming message to handle */ gras_msg_handle(600.0);