s3:rpc_transport_tstream: call tstream_cli_np_use_trans() before tstream_writev_queue...
authorStefan Metzmacher <metze@samba.org>
Thu, 28 Jul 2011 10:54:31 +0000 (12:54 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 1 Aug 2011 12:55:00 +0000 (14:55 +0200)
This will be needed when tstream_writev_queue_send() changes it's behavior and
avoids using an immediate event when the queue is empty.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon Aug  1 14:55:00 CEST 2011 on sn-devel-104

source3/rpc_client/rpc_transport_tstream.c

index 488c093d3b7facf4f19a6c56911dd4a5f0016b7e..8a860f9400113758edf90313807b2a6f09973e3b 100644 (file)
@@ -357,6 +357,7 @@ static struct tevent_req *rpc_tstream_trans_send(TALLOC_CTX *mem_ctx,
        struct tevent_req *req, *subreq;
        struct rpc_tstream_trans_state *state;
        struct timeval endtime;
+       bool use_trans = false;
 
        req = tevent_req_create(mem_ctx, &state,
                                struct rpc_tstream_trans_state);
@@ -376,6 +377,14 @@ static struct tevent_req *rpc_tstream_trans_send(TALLOC_CTX *mem_ctx,
 
        endtime = timeval_current_ofs_msec(transp->timeout);
 
+       if (tstream_is_cli_np(transp->stream)) {
+               use_trans = true;
+       }
+
+       if (use_trans) {
+               tstream_cli_np_use_trans(transp->stream);
+       }
+
        subreq = tstream_writev_queue_send(state, ev,
                                           transp->stream,
                                           transp->write_queue,
@@ -388,10 +397,6 @@ static struct tevent_req *rpc_tstream_trans_send(TALLOC_CTX *mem_ctx,
        }
        tevent_req_set_callback(subreq, rpc_tstream_trans_writev, req);
 
-       if (tstream_is_cli_np(transp->stream)) {
-               tstream_cli_np_use_trans(transp->stream);
-       }
-
        subreq = tstream_readv_pdu_queue_send(state, ev,
                                              transp->stream,
                                              transp->read_queue,