s3:libsmb: use nb_connect_send() directly instead of doing a 0 timer for port 139
authorStefan Metzmacher <metze@samba.org>
Wed, 30 May 2012 11:20:19 +0000 (13:20 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 30 May 2012 18:51:51 +0000 (20:51 +0200)
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed May 30 20:51:51 CEST 2012 on sn-devel-104

source3/libsmb/smbsock_connect.c

index d9d3b92c0ee3aeb1dc2840fe579d6c7c0c4f621a..c5fd2c843127d4628e5ea073dceafa70b18f8730 100644 (file)
@@ -330,7 +330,7 @@ struct tevent_req *smbsock_connect_send(TALLOC_CTX *mem_ctx,
                                        const char *calling_name,
                                        int calling_type)
 {
-       struct tevent_req *req, *subreq;
+       struct tevent_req *req;
        struct smbsock_connect_state *state;
 
        req = tevent_req_create(mem_ctx, &state, struct smbsock_connect_state);
@@ -352,11 +352,16 @@ struct tevent_req *smbsock_connect_send(TALLOC_CTX *mem_ctx,
        talloc_set_destructor(state, smbsock_connect_state_destructor);
 
        if (port == NBT_SMB_PORT) {
-               subreq = tevent_wakeup_send(state, ev, timeval_set(0, 0));
-               if (tevent_req_nomem(subreq, req)) {
+               state->req_139 = nb_connect_send(state, state->ev, state->addr,
+                                                state->called_name,
+                                                state->called_type,
+                                                state->calling_name,
+                                                state->calling_type);
+               if (tevent_req_nomem(state->req_139, req)) {
                        return tevent_req_post(req, ev);
                }
-               tevent_req_set_callback(subreq, smbsock_connect_do_139, req);
+               tevent_req_set_callback(
+                       state->req_139, smbsock_connect_connected, req);
                return req;
        }
        if (port != 0) {