From: Igor Sysoev Date: Wed, 30 May 2007 13:23:48 +0000 (+0000) Subject: do listen() just after bind() to exit early X-Git-Tag: release-0.5.23~5 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=d4aa572c8d959facaa23f73c4fda2acc707e8a19;p=nginx.git do listen() just after bind() to exit early --- diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index 2f1fbea3a..362a70edc 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -325,6 +325,20 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) continue; } + if (listen(s, ls[i].backlog) == -1) { + ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, + "listen() to %V, backlog %d failed", + &ls[i].addr_text, ls[i].backlog); + + if (ngx_close_socket(s) == -1) { + ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, + ngx_close_socket_n " %V failed", + &ls[i].addr_text); + } + + return NGX_ERROR; + } + ls[i].listen = 1; ls[i].fd = s;