From 6492ffd8df0d8bd847c977396edd070b8be65f54 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 10 May 2009 10:49:39 +0200 Subject: [PATCH] Fix wb_simple_trans queueing --- source3/lib/wb_reqtrans.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/source3/lib/wb_reqtrans.c b/source3/lib/wb_reqtrans.c index 3fdf62a1087..16d71fe03e3 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; -- 2.11.4.GIT