add magic number to barrier message. we still need a reliable cmibarrier for udp...
authorGengbin Zheng <gzheng@illinois.edu>
Wed, 29 Jul 2009 17:05:49 +0000 (17:05 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Wed, 29 Jul 2009 17:05:49 +0000 (17:05 +0000)
src/arch/net/machine-eth.c

index c43796beee626bc3f664e5a7238ba047982f1e4a..6e5d8b2e35a4023cb01e9279ed7592efc35b3bf3 100644 (file)
@@ -832,6 +832,7 @@ static void sendBarrierMessage(int pe)
   OtherNode  node = nodes + pe;
   int retval = -1;
   if (dataskt!=-1) {
+  buf[0] = 61; buf[1] = 31;
   while (retval == -1) {
      retval = sendto(dataskt, (char *)buf, 32, 0,
         (struct sockaddr *)&(node->addr),
@@ -846,6 +847,7 @@ static void recvBarrierMessage()
   int nreadable, ok, s;
   
   if (dataskt!=-1) {
+    retry:
         do {
         CMK_PIPE_DECL(10);
        CMK_PIPE_ADDREAD(dataskt);
@@ -856,6 +858,7 @@ static void recvBarrierMessage()
         } while (1);
         ok = recv(dataskt,buf,32,0);
         CmiAssert(ok >= 0);
+        if (buf[0]!=61 || buf[1]!=31) goto retry;
   }
 }