Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not open the master socket too early, or the listener will get messages before...
[simgrid.git] / examples / gras / mutual_exclusion / simple_token / simple_token.c
index 5f0db69..873dc0b 100644 (file)
@@ -132,18 +132,18 @@ int node (int argc,char *argv[]) {
   INFO4("Launch node %d (successor on %s:%d; listening on %d)",
        gras_os_getpid(), host,peerport, myport);
 
   INFO4("Launch node %d (successor on %s:%d; listening on %d)",
        gras_os_getpid(), host,peerport, myport);
 
-  /* 4. Create my master socket for listening */
+  /* 4. Register the known messages.  */
+  gras_msgtype_declare("stoken", gras_datadesc_by_name("int"));
+   
+  /* 5. Create my master socket for listening */
   globals->sock = gras_socket_server(myport);
   gras_os_sleep(1.0); /* Make sure all server sockets are created */
   globals->sock = gras_socket_server(myport);
   gras_os_sleep(1.0); /* Make sure all server sockets are created */
-
-  /* 5. Create socket to the successor on the ring */
+   
+  /* 6. Create socket to the successor on the ring */
   DEBUG2("Connect to my successor on %s:%d",host,peerport);
 
   globals->tosuccessor = gras_socket_client(host,peerport);
   
   DEBUG2("Connect to my successor on %s:%d",host,peerport);
 
   globals->tosuccessor = gras_socket_client(host,peerport);
   
-  /* 6. Register the known messages.  */
-  gras_msgtype_declare("stoken", gras_datadesc_by_name("int"));
-   
   /* 7. Register my callback */
   gras_cb_register("stoken",&node_cb_stoken_handler);  
 
   /* 7. Register my callback */
   gras_cb_register("stoken",&node_cb_stoken_handler);