summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/async_req/async_sock.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index a505fcf4656..643eb2d308f 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -223,6 +223,11 @@ struct tevent_req *async_connect_send(TALLOC_CTX *mem_ctx,
state->fd = fd;
state->sys_errno = 0;
+ state->old_sockflags = fcntl(fd, F_GETFL, 0);
+ if (state->old_sockflags == -1) {
+ goto post_errno;
+ }
+
state->address_len = address_len;
if (address_len > sizeof(state->address)) {
errno = EINVAL;
@@ -230,11 +235,6 @@ struct tevent_req *async_connect_send(TALLOC_CTX *mem_ctx,
}
memcpy(&state->address, address, address_len);
- state->old_sockflags = fcntl(fd, F_GETFL, 0);
- if (state->old_sockflags == -1) {
- goto post_errno;
- }
-
set_blocking(fd, false);
state->result = connect(fd, address, address_len);