summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vppinfra/socket.c')
-rw-r--r--src/vppinfra/socket.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vppinfra/socket.c b/src/vppinfra/socket.c
index 3271393529d..1d8b2ca2e45 100644
--- a/src/vppinfra/socket.c
+++ b/src/vppinfra/socket.c
@@ -518,6 +518,14 @@ clib_socket_init (clib_socket_t * s)
s->fd, s->config);
goto done;
}
+ /* Connect was blocking so set fd to non-blocking now */
+ if (!(s->flags & CLIB_SOCKET_F_NON_BLOCKING_CONNECT) &&
+ fcntl (s->fd, F_SETFL, O_NONBLOCK) < 0)
+ {
+ error = clib_error_return_unix (0, "fcntl NONBLOCK2 (fd %d, '%s')",
+ s->fd, s->config);
+ goto done;
+ }
}
return error;