decrease log level of connection errors while closing socket

This commit is contained in:
Igor Sysoev 2008-03-05 21:21:26 +00:00
parent cca6000247
commit a4d00f1c97

View File

@ -661,6 +661,8 @@ ngx_free_connection(ngx_connection_t *c)
void void
ngx_close_connection(ngx_connection_t *c) ngx_close_connection(ngx_connection_t *c)
{ {
ngx_err_t err;
ngx_uint_t log_error, level;
ngx_socket_t fd; ngx_socket_t fd;
if (c->fd == -1) { if (c->fd == -1) {
@ -733,6 +735,8 @@ ngx_close_connection(ngx_connection_t *c)
#endif #endif
log_error = c->log_error;
ngx_free_connection(c); ngx_free_connection(c);
fd = c->fd; fd = c->fd;
@ -740,9 +744,31 @@ ngx_close_connection(ngx_connection_t *c)
if (ngx_close_socket(fd) == -1) { 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 */ /* 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); ngx_close_socket_n " %d failed", fd);
} }
} }
@ -784,11 +810,11 @@ ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text)
break; break;
default: default:
level = NGX_LOG_CRIT; level = NGX_LOG_ALERT;
} }
} else { } else {
level = NGX_LOG_CRIT; level = NGX_LOG_ALERT;
} }
ngx_log_error(level, c->log, err, text); ngx_log_error(level, c->log, err, text);