svn commit: samba r3103 - in branches/SAMBA_4_0/source/librpc/rpc: .

tridge at samba.org tridge at samba.org
Thu Oct 21 01:45:08 GMT 2004


Author: tridge
Date: 2004-10-21 01:44:46 +0000 (Thu, 21 Oct 2004)
New Revision: 3103

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/librpc/rpc&rev=3103&nolog=1

Log:
use a destructor to ensure that on abnormnal rpc request termination
it is removed from the pending list.




Modified:
   branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c	2004-10-21 00:49:39 UTC (rev 3102)
+++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c	2004-10-21 01:44:46 UTC (rev 3103)
@@ -820,6 +820,16 @@
 
 
 /*
+  make sure requests are cleaned up 
+ */
+static int dcerpc_req_destructor(void *ptr)
+{
+	struct rpc_request *req = ptr;
+	DLIST_REMOVE(req->p->pending, req);
+	return 0;
+}
+
+/*
   perform the send size of a async dcerpc request
 */
 struct rpc_request *dcerpc_request_send(struct dcerpc_pipe *p, 
@@ -903,6 +913,8 @@
 		remaining -= chunk;
 	}
 
+	talloc_set_destructor(req, dcerpc_req_destructor);
+
 	return req;
 }
 



More information about the samba-cvs mailing list