[SSI] openssi/kernel/cluster/ssi/token tokseq.c,1.10,1.11
Roger Tsang <[email protected]> Tue, 25 Jan 2011 05:51:28 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/token
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv23093/cluster/ssi/token
Modified Files:
Tag: OPENSSI-FC
tokseq.c
Log Message:
tokseq_accept: fix memory leak if node goes down before we re-acquire ts_lock.
Index: tokseq.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/token/tokseq.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- tokseq.c 17 Dec 2009 06:43:51 -0000 1.10
+++ tokseq.c 25 Jan 2011 05:51:26 -0000 1.11
@@ -193,17 +193,23 @@
/* Make sure that node is still up */
if (tsp->ts_conns[agent].tsp_flags & TSF_DOWN) {
UNLOCK_COND_LOCK(&tsp->ts_lock);
+ /* free memory */
+ KMEM_SLEEP_FREE(tqp, sizeof(tqentry_t));
+ if (freefunc)
+ (*freefunc)(save);
+ else
+ KMEM_SLEEP_FREE(save, argsize);
return;
}
/* If we are now in sequence, since memory allocation,
* free memory and run the server.
*/
if (recvd == tsp->ts_conns[agent].tsp_expect) {
+ KMEM_SLEEP_FREE(tqp, sizeof(tqentry_t));
if (freefunc)
(*freefunc)(save);
else
KMEM_SLEEP_FREE(save, argsize);
- KMEM_SLEEP_FREE(tqp, sizeof(tqentry_t));
goto no_queue;
}
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d