changeset 5740:4440438eb086

Core: plugged socket leak during configuration test. This isn't really important as configuration testing shortly ends with a process termination which will free all sockets, though Coverity complains. Prodded by Coverity (CID 400872).
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 26 Jun 2014 03:34:05 +0400
parents 6e4bb1d6679d
children b490bfbf8cfa
files src/core/ngx_connection.c
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -411,13 +411,11 @@ ngx_open_listening_sockets(ngx_cycle_t *
             if (bind(s, ls[i].sockaddr, ls[i].socklen) == -1) {
                 err = ngx_socket_errno;
 
-                if (err == NGX_EADDRINUSE && ngx_test_config) {
-                    continue;
+                if (err != NGX_EADDRINUSE || !ngx_test_config) {
+                    ngx_log_error(NGX_LOG_EMERG, log, err,
+                                  "bind() to %V failed", &ls[i].addr_text);
                 }
 
-                ngx_log_error(NGX_LOG_EMERG, log, err,
-                              "bind() to %V failed", &ls[i].addr_text);
-
                 if (ngx_close_socket(s) == -1) {
                     ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
                                   ngx_close_socket_n " %V failed",
@@ -428,7 +426,9 @@ ngx_open_listening_sockets(ngx_cycle_t *
                     return NGX_ERROR;
                 }
 
-                failed = 1;
+                if (!ngx_test_config) {
+                    failed = 1;
+                }
 
                 continue;
             }