# HG changeset patch # User Maxim Dounin # Date 1403739245 -14400 # Node ID 4440438eb086533cb0d23af4c098fe489750ab9b # Parent 6e4bb1d6679d6dfb557149aca7d99b7b82f889f4 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). diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c --- 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; }