# HG changeset patch # User Ruslan Ermilov # Date 1319550485 0 # Node ID 003f0f341edffc858761498ab3e8b39f6d1af9be # Parent 016352c19049192a1c2e6565e3e0c9b413ed2310 Fixed range checking for the "somaxconn" sysctl. diff --git a/src/os/unix/ngx_darwin_init.c b/src/os/unix/ngx_darwin_init.c --- a/src/os/unix/ngx_darwin_init.c +++ b/src/os/unix/ngx_darwin_init.c @@ -88,7 +88,6 @@ ngx_debug_init() ngx_int_t ngx_os_specific_init(ngx_log_t *log) { - int somaxconn; size_t size; ngx_err_t err; ngx_uint_t i; @@ -155,12 +154,9 @@ ngx_os_specific_init(ngx_log_t *log) ngx_ncpu = ngx_darwin_hw_ncpu; - somaxconn = 32676; - - if (ngx_darwin_kern_ipc_somaxconn > somaxconn) { + if (ngx_darwin_kern_ipc_somaxconn > 32767) { ngx_log_error(NGX_LOG_ALERT, log, 0, - "sysctl kern.ipc.somaxconn must be no more than %d", - somaxconn); + "sysctl kern.ipc.somaxconn must be less than 32768"); return NGX_ERROR; } diff --git a/src/os/unix/ngx_freebsd_init.c b/src/os/unix/ngx_freebsd_init.c --- a/src/os/unix/ngx_freebsd_init.c +++ b/src/os/unix/ngx_freebsd_init.c @@ -98,7 +98,7 @@ ngx_debug_init() ngx_int_t ngx_os_specific_init(ngx_log_t *log) { - int version, somaxconn; + int version; size_t size; ngx_err_t err; ngx_uint_t i; @@ -210,12 +210,9 @@ ngx_os_specific_init(ngx_log_t *log) ngx_ncpu = ngx_freebsd_hw_ncpu; } - somaxconn = version < 600008 ? 32676 : 65535; - - if (ngx_freebsd_kern_ipc_somaxconn > somaxconn) { + if (version < 600008 && ngx_freebsd_kern_ipc_somaxconn > 32767) { ngx_log_error(NGX_LOG_ALERT, log, 0, - "sysctl kern.ipc.somaxconn must be no more than %d", - somaxconn); + "sysctl kern.ipc.somaxconn must be less than 32768"); return NGX_ERROR; }