diff options
Diffstat (limited to 'usr.sbin/nginx/src/event/ngx_event_connect.c')
| -rw-r--r-- | usr.sbin/nginx/src/event/ngx_event_connect.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/usr.sbin/nginx/src/event/ngx_event_connect.c b/usr.sbin/nginx/src/event/ngx_event_connect.c index fb8fd21105a..978f39b42a5 100644 --- a/usr.sbin/nginx/src/event/ngx_event_connect.c +++ b/usr.sbin/nginx/src/event/ngx_event_connect.c @@ -1,6 +1,7 @@ /* * Copyright (C) Igor Sysoev + * Copyright (C) Nginx, Inc. */ @@ -159,6 +160,9 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) ngx_log_error(level, c->log, err, "connect() to %V failed", pc->name); + ngx_close_connection(c); + pc->connection = NULL; + return NGX_DECLINED; } } @@ -240,12 +244,8 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) failed: - ngx_free_connection(c); - - if (ngx_close_socket(s) == -1) { - ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, - ngx_close_socket_n " failed"); - } + ngx_close_connection(c); + pc->connection = NULL; return NGX_ERROR; } |
