Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix make dist
[simgrid.git] / examples / ping / ping.c
index d38579b..39ca8dd 100644 (file)
@@ -87,11 +87,14 @@ int server_cb_ping_handler(gras_socket_t        *expeditor,
 
 int server (int argc,char *argv[]) {
   gras_error_t errcode;
-  server_data_t *g=gras_userdata_new(server_data_t);  
+  server_data_t *g;
   gras_msgtype_t *ping_msg=NULL;
 
   int port = 4000;
   
+  gras_init(&argc,argv);
+  g=gras_userdata_new(server_data_t);
+   
   if (argc == 2) {
     port=atoi(argv[1]);
   }
@@ -123,8 +126,10 @@ int server (int argc,char *argv[]) {
   
   if (!gras_if_RL())
     gras_sleep(5,0);
-  INFO0("SERVER: Done.");
   gras_socket_close(g->sock);
+  free(g);
+  gras_exit();
+  INFO0("SERVER: Done.");
   return no_error;
 }
 
@@ -142,23 +147,24 @@ int client (int argc,char *argv[]);
 
 int client(int argc,char *argv[]) {
   gras_error_t errcode;
-  client_data_t *g=gras_userdata_new(client_data_t);
+  client_data_t *g;
 
   gras_socket_t  *from;
   int ping, pong;
-  gras_msgtype_t *msg_ping_type, *msg_pong_type;
+  gras_msgtype_t *msg_ping_type=NULL, *msg_pong_type=NULL;
 
   const char *host = "127.0.0.1";
         int   port = 4000;
 
-  msg_ping_type = msg_pong_type = NULL;
+  gras_init(&argc, argv);
+  g=gras_userdata_new(client_data_t);
    
   if (argc == 3) {
     host=argv[1];
     port=atoi(argv[2]);
   } 
 
-  fprintf(stderr,"Launch client (server on %s:%d)",host,port);
+  INFO2("Launch client (server on %s:%d)",host,port);
   if (!gras_if_RL())
     gras_sleep(5,0); /* Wait for the server to be setup */
   if ((errcode=gras_socket_client(host,port,&(g->sock)))) {
@@ -201,6 +207,8 @@ int client(int argc,char *argv[]) {
        gras_socket_peer_name(from),gras_socket_peer_port(from));
 
   gras_socket_close(g->sock);
+  free(g);
+  gras_exit();
   INFO0("Client: Done.");
   return 0;
 }