fixed a bunch of memory leaks
authorGengbin Zheng <gzheng@illinois.edu>
Sat, 3 Sep 2011 02:32:39 +0000 (21:32 -0500)
committerGengbin Zheng <gzheng@illinois.edu>
Sat, 3 Sep 2011 02:32:39 +0000 (21:32 -0500)
tests/converse/megacon/bigmsg.c
tests/converse/megacon/broadc.c
tests/converse/megacon/multicast.c
tests/converse/megacon/vecsend.c

index ed3d9ff3e0803edb0d1e8b1cbda0bac7c13e6932..4d15c47348c0c4eb98bd53b2baaf79243560f7b4 100644 (file)
@@ -20,10 +20,11 @@ void bigmsg_handler(void *vmsg)
        exit(1);
       }
     }
+    CmiFree(msg);
     Cpm_megacon_ack(CpmSend(0));
   } else {
     next = (CmiMyPe()+1) % CmiNumPes();
-    CmiSyncSend(next, 250000*sizeof(int), msg);
+    CmiSyncSendAndFree(next, 250000*sizeof(int), msg);
   }
 }
 
index a857dc3226e29d785a962870f4b930ac7e47ea74..d7d608aa1f5d6c1d49e4652ddde71ad6d775016a 100644 (file)
@@ -65,6 +65,7 @@ void broadc_reply(mesg m)
   c = m->reply_ptr;
   c->totalreplies++;
   if ((c->totalreplies % CmiNumPes())==0) broadc_start_cycle(c);
+  CmiFree(m);
 }
 
 void broadc_init(void)
index af6a286689d4b128e7a18752494894ccf86fccb3..cbd31b88cc271d2967615e27152ce3f9fe35bfa0 100644 (file)
@@ -30,7 +30,7 @@ void multicast_recv(mesg m)
     exit(1);
   }
   CmiSetHandler(m, CpvAccess(multicast_reply_idx));
-  CmiSyncSend(m->reply_pe, sizeof(struct mesg), m);
+  CmiSyncSendAndFree(m->reply_pe, sizeof(struct mesg), m);
 }
 
 void multicast_start_cycle(bchare c)
@@ -67,6 +67,7 @@ void multicast_reply(mesg m)
   c = m->reply_ptr;
   c->totalreplies++;
   if ((c->totalreplies % CmiNumPes())==0) multicast_start_cycle(c);
+  CmiFree(m);
 }
 
 CmiGroup multicast_all()
index a4ecd4c15300bf61668c706fdfed215b4b2af070..e4805d312ed1b8f99a7cd2cbdb0a0dca7f0c4b9c 100644 (file)
@@ -28,8 +28,8 @@ void vecsend_handler(int *msg)
     sizes[0] = 3600*sizeof(int);
     msgs[0] = (char *)msg;
     CmiSyncVectorSend(next, 1, sizes, msgs);
-    CmiFree(msg);
   }
+  CmiFree(msg);
 }
 
 void vecsend_init()