diff options
author | Volker Lendecke <vl@samba.org> | 2009-05-10 10:49:39 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-05-24 13:49:59 +0200 |
commit | 6492ffd8df0d8bd847c977396edd070b8be65f54 (patch) | |
tree | 2e8a994efd2ee9b5fbcc48c83f92bae77d45c80f | |
parent | a8e02b591b0c82c1f75f4f51bc683d9775f13d54 (diff) | |
download | samba-6492ffd8df0d8bd847c977396edd070b8be65f54.tar.gz samba-6492ffd8df0d8bd847c977396edd070b8be65f54.tar.bz2 samba-6492ffd8df0d8bd847c977396edd070b8be65f54.zip |
Fix wb_simple_trans queueing
-rw-r--r-- | source3/lib/wb_reqtrans.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/source3/lib/wb_reqtrans.c b/source3/lib/wb_reqtrans.c index 3fdf62a108..16d71fe03e 100644 --- a/source3/lib/wb_reqtrans.c +++ b/source3/lib/wb_reqtrans.c @@ -169,14 +169,7 @@ static void wb_req_write_done(struct tevent_req *subreq) int err; state->ret = writev_recv(subreq, &err); - /* - * We do not TALLOC_FREE(subreq) here, as this would trigger the next - * write of a client. The winbind protocol is purely request/response - * without multiplex ID's, so having multiple requeusts on the fly - * would confuse sequencing. - * - * Eventually the writev_req will be freed, "subreq" a child of "req" - */ + TALLOC_FREE(subreq); if (state->ret < 0) { tevent_req_error(req, err); return; @@ -417,14 +410,7 @@ static void wb_simple_trans_write_done(struct tevent_req *subreq) int err; ret = wb_req_write_recv(subreq, &err); - /* - * We do not TALLOC_FREE(subreq) here, as this would trigger the next - * write of a client. The winbind protocol is purely request/response - * without multiplex ID's, so having multiple requeusts on the fly - * would confuse sequencing. - * - * Eventually the "subreq" will be freed, it is a child of "req" - */ + TALLOC_FREE(subreq); if (ret == -1) { tevent_req_error(req, err); return; @@ -446,6 +432,7 @@ static void wb_simple_trans_read_done(struct tevent_req *subreq) int err; ret = wb_resp_read_recv(subreq, state, &state->wb_resp, &err); + TALLOC_FREE(subreq); if (ret == -1) { tevent_req_error(req, err); return; |