Mercurial > hg > nginx-quic
changeset 1917:1b2e83c4886d
decrease log level of connection errors while closing socket
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 05 Mar 2008 21:21:26 +0000 |
parents | cc68a7dc2dd0 |
children | a47516c7065b |
files | src/core/ngx_connection.c |
diffstat | 1 files changed, 29 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -661,6 +661,8 @@ ngx_free_connection(ngx_connection_t *c) void ngx_close_connection(ngx_connection_t *c) { + ngx_err_t err; + ngx_uint_t log_error, level; ngx_socket_t fd; if (c->fd == -1) { @@ -733,6 +735,8 @@ ngx_close_connection(ngx_connection_t *c #endif + log_error = c->log_error; + ngx_free_connection(c); fd = c->fd; @@ -740,9 +744,31 @@ ngx_close_connection(ngx_connection_t *c if (ngx_close_socket(fd) == -1) { + err = ngx_socket_errno; + + if (err == NGX_ECONNRESET || err == NGX_ENOTCONN) { + + switch (log_error) { + + case NGX_ERROR_INFO: + level = NGX_LOG_INFO; + break; + + case NGX_ERROR_ERR: + level = NGX_LOG_ERR; + break; + + default: + level = NGX_LOG_CRIT; + } + + } else { + level = NGX_LOG_CRIT; + } + /* we use ngx_cycle->log because c->log was in c->pool */ - ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, ngx_socket_errno, + ngx_log_error(level, ngx_cycle->log, err, ngx_close_socket_n " %d failed", fd); } } @@ -784,11 +810,11 @@ ngx_connection_error(ngx_connection_t *c break; default: - level = NGX_LOG_CRIT; + level = NGX_LOG_ALERT; } } else { - level = NGX_LOG_CRIT; + level = NGX_LOG_ALERT; } ngx_log_error(level, c->log, err, text);