diff options
author | Kai Blin <kai@samba.org> | 2009-02-04 09:07:36 +0100 |
---|---|---|
committer | Kai Blin <kai@samba.org> | 2009-02-09 08:36:08 +0100 |
commit | c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e (patch) | |
tree | 34feeb6f13f8b5b058b9df92a9cb2e2ec8e51050 /source3/lib/util_sock.c | |
parent | 3a4c8cd492b9e8874724dff1d0fc0207cb74036b (diff) | |
download | samba-c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e.tar.gz samba-c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e.tar.bz2 samba-c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e.zip |
async_sock: Use unix errnos instead of NTSTATUS
This also switches wb_reqtrans to use wbcErr instead of NTSTATUS as it would
be pointless to convert to errno first and to wbcErr later.
Diffstat (limited to 'source3/lib/util_sock.c')
-rw-r--r-- | source3/lib/util_sock.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index 78431d93c8..b9a7f8788d 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -1051,17 +1051,17 @@ static void open_socket_out_connected(struct async_req *subreq) subreq->async.priv, struct async_req); struct open_socket_out_state *state = talloc_get_type_abort( req->private_data, struct open_socket_out_state); - NTSTATUS status; + int err; int sys_errno; - status = async_connect_recv(subreq, &sys_errno); + err = async_connect_recv(subreq, &sys_errno); TALLOC_FREE(subreq); - if (NT_STATUS_IS_OK(status)) { + if (err == 0) { async_req_done(req); return; } - if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT) + if ((sys_errno == ETIME) || (sys_errno == EINPROGRESS) || (sys_errno == EALREADY) || (sys_errno == EAGAIN)) { @@ -1082,7 +1082,7 @@ static void open_socket_out_connected(struct async_req *subreq) } if (!async_req_set_timeout(subreq, state->ev, timeval_set(0, state->wait_nsec))) { - async_req_nterror(req, NT_STATUS_NO_MEMORY); + async_req_error(req, ENOMEM); return; } subreq->async.fn = open_socket_out_connected; @@ -1098,17 +1098,17 @@ static void open_socket_out_connected(struct async_req *subreq) #endif /* real error */ - async_req_nterror(req, map_nt_error_from_unix(sys_errno)); + async_req_error(req, sys_errno); } NTSTATUS open_socket_out_recv(struct async_req *req, int *pfd) { struct open_socket_out_state *state = talloc_get_type_abort( req->private_data, struct open_socket_out_state); - NTSTATUS status; + int err; - if (async_req_is_nterror(req, &status)) { - return status; + if (async_req_is_errno(req, &err)) { + return map_nt_error_from_unix(err); } *pfd = state->fd; state->fd = -1; |