set size byte of the persistent buffer to 0 when setting up the persistent channel.
authorGengbin Zheng <gzheng@illinois.edu>
Mon, 8 Nov 2010 20:34:55 +0000 (14:34 -0600)
committerGengbin Zheng <gzheng@illinois.edu>
Mon, 8 Nov 2010 20:34:55 +0000 (14:34 -0600)
src/arch/net/machine.c

index 536debe739aea2b72aae86233c63ce7fe38bcbf1..e2a23b3b97bf16040bf334f0be2406f7eb192e37 100644 (file)
@@ -2953,7 +2953,7 @@ int PumpPersistent()
     if (size > 0)
     {
       char *msg = slot->messagePtr[0];
-/*CmiPrintf("size: %d msg:%p %p\n", size, msg, slot->messagePtr);*/
+/*CmiPrintf("[%d] size: %d msg:%p %p\n", CmiMyPe(), size, msg, slot->messagePtr);*/
 
 #if 0
       void *dupmsg;
@@ -3007,6 +3007,7 @@ void setupRecvSlot(PersistentReceivesTable *slot, int maxBytes)
     memset(buf, 0, maxBytes+sizeof(int)*2);
     slot->messagePtr[i] = buf;
     slot->recvSizePtr[i] = (unsigned int*)CmiAlloc(sizeof(unsigned int));
+    *(slot->recvSizePtr[0]) = 0;
   }
   slot->sizeMax = maxBytes;
 }