diff options
author | Volker Lendecke <vlendec@samba.org> | 2005-11-05 09:32:15 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:45:47 -0500 |
commit | 687dea8de634d6d0e1e4ee9a0550f258cd63a014 (patch) | |
tree | 58d4ebde569b2745fe5ee2fa219d77597f354030 /source4/librpc | |
parent | baff088fedf8eb47fd574788aff1ed5a91bd7aa2 (diff) | |
download | samba-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.c | 9 |
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); + } } /* |