diff options
Diffstat (limited to 'src/event/ngx_event_connect.c')
-rw-r--r-- | src/event/ngx_event_connect.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c index 75277a7bd..1a3e8f806 100644 --- a/src/event/ngx_event_connect.c +++ b/src/event/ngx_event_connect.c @@ -8,11 +8,8 @@ #include <ngx_core.h> #include <ngx_event.h> #include <ngx_event_connect.h> -#include <nginx.h> -/* AF_INET only */ - ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc) { int rc; @@ -170,6 +167,7 @@ ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc) } #if (NGX_WIN32) + /* * Winsock assignes a socket number divisible by 4 * so to find a connection we divide a socket number by 4. @@ -232,6 +230,11 @@ ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc) c->log_error = pc->log_error; + if (peer->sockaddr->sa_family != AF_INET) { + c->tcp_nopush = NGX_TCP_NOPUSH_DISABLED; + c->tcp_nodelay = NGX_TCP_NODELAY_DISABLED; + } + pc->connection = c; /* @@ -289,6 +292,9 @@ ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc) } ngx_log_debug0(NGX_LOG_DEBUG_EVENT, pc->log, 0, "connected"); + + wev->ready = 1; + return NGX_OK; } |