Mercurial > hg > nginx
changeset 1224:53e3dd035140
do listen() just after bind() to exit early
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 30 May 2007 13:23:48 +0000 |
parents | 8523f4da2d69 |
children | 8dfa34cb186e |
files | src/core/ngx_connection.c |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_connection.c Wed May 30 12:28:37 2007 +0000 +++ b/src/core/ngx_connection.c Wed May 30 13:23:48 2007 +0000 @@ -325,6 +325,20 @@ 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;