summaryrefslogtreecommitdiffstats
path: root/source4/librpc
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2005-11-05 09:32:15 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:45:47 -0500
commit687dea8de634d6d0e1e4ee9a0550f258cd63a014 (patch)
tree58d4ebde569b2745fe5ee2fa219d77597f354030 /source4/librpc
parentbaff088fedf8eb47fd574788aff1ed5a91bd7aa2 (diff)
downloadsamba-687dea8de634d6d0e1e4ee9a0550f258cd63a014.tar.gz
samba-687dea8de634d6d0e1e4ee9a0550f258cd63a014.tar.xz
samba-687dea8de634d6d0e1e4ee9a0550f258cd63a014.zip
r11516: Fix a valgrind bug I introduce with queued requests
(This used to be commit 3e4ab756f421acd747e9ea4c48b0f61d48dfa8fd)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/rpc/dcerpc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index ea1ae76b4ec..9b7d5bb47da 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -856,13 +856,16 @@ req_done:
req->state = RPC_REQUEST_DONE;
DLIST_REMOVE(c->pending, req);
data_blob_free(data);
- if (req->async.callback) {
- req->async.callback(req);
- }
if (c->request_queue != NULL) {
+ /* We have to look at shipping further requests before calling
+ * the async function, that one might close the pipe */
dcerpc_ship_next_request(c);
}
+
+ if (req->async.callback) {
+ req->async.callback(req);
+ }
}
/*