Mercurial > hg > nginx
diff src/event/ngx_event_connect.c @ 186:c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 16 Nov 2003 21:49:42 +0000 |
parents | edf29bb717da |
children | c966c09be66b |
line wrap: on
line diff
--- a/src/event/ngx_event_connect.c +++ b/src/event/ngx_event_connect.c @@ -180,8 +180,8 @@ int ngx_event_connect_peer(ngx_peer_conn ngx_memzero(&addr, sizeof(struct sockaddr_in)); addr.sin_family = AF_INET; + addr.sin_port = peer->port; addr.sin_addr.s_addr = peer->addr; - addr.sin_port = peer->port; ngx_log_debug(pc->log, "CONNECT: %s" _ peer->addr_port_text.data); @@ -189,7 +189,10 @@ ngx_log_debug(pc->log, "CONNECT: %s" _ p if (rc == -1) { err = ngx_socket_errno; - if (err != NGX_EINPROGRESS) { + + /* Winsock returns WSAEWOULDBLOCK */ + + if (err != NGX_EINPROGRESS && err != NGX_EAGAIN) { ngx_log_error(NGX_LOG_ERR, pc->log, err, "connect() failed"); if (ngx_close_socket(s) == -1) { @@ -221,7 +224,8 @@ ngx_log_debug(pc->log, "CONNECT: %s" _ p /* * aio allows to post operation on non-connected socket - * at least in FreeBSD + * at least in FreeBSD. + * NT does not support it. * * TODO: check in Win32, etc. As workaround we can use NGX_ONESHOT_EVENT */