diff --git a/src/socket.c b/src/socket.c index 336b250cc6..4e53ee2b5a 100644 --- a/src/socket.c +++ b/src/socket.c @@ -374,13 +374,14 @@ static int connSocketBlockingConnect(connection *conn, const char *addr, int por return C_ERR; } + conn->fd = fd; + if ((aeWait(fd, AE_WRITABLE, timeout) & AE_WRITABLE) == 0) { conn->state = CONN_STATE_ERROR; conn->last_errno = ETIMEDOUT; return C_ERR; } - conn->fd = fd; conn->state = CONN_STATE_CONNECTED; return C_OK; }