diff options
Diffstat (limited to 'src/core/ngx_connection.c')
-rw-r--r-- | src/core/ngx_connection.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index ed9efe754..19344ab48 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -248,6 +248,8 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) continue; } + ls[i].log = *ls[i].logp; + if (ls[i].inherited) { /* TODO: close on exit */ @@ -801,7 +803,14 @@ ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text) { ngx_uint_t level; - if (err == NGX_ECONNRESET && c->log_error == NGX_ERROR_IGNORE_ECONNRESET) { + /* Winsock may return NGX_ECONNABORTED instead of NGX_ECONNRESET */ + + if ((err == NGX_ECONNRESET +#if (NGX_WIN32) + || err == NGX_ECONNABORTED +#endif + ) && c->log_error == NGX_ERROR_IGNORE_ECONNRESET) + { return 0; } @@ -813,7 +822,9 @@ ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text) if (err == 0 || err == NGX_ECONNRESET -#if !(NGX_WIN32) +#if (NGX_WIN32) + || err == NGX_ECONNABORTED +#else || err == NGX_EPIPE #endif || err == NGX_ENOTCONN |