comparison src/os/unix/ngx_freebsd_init.c @ 4353:710e35d17c28 stable-1.0

Merge of r4227, r4228: Fixed range checking for the "somaxconn" sysctl. Fixed port range checking.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 14 Dec 2011 13:06:45 +0000
parents cc13ff6d5c07
children 4919fb357a5d
comparison
equal deleted inserted replaced
4352:413b822f1efa 4353:710e35d17c28
95 95
96 96
97 ngx_int_t 97 ngx_int_t
98 ngx_os_specific_init(ngx_log_t *log) 98 ngx_os_specific_init(ngx_log_t *log)
99 { 99 {
100 int version, somaxconn; 100 int version;
101 size_t size; 101 size_t size;
102 ngx_err_t err; 102 ngx_err_t err;
103 ngx_uint_t i; 103 ngx_uint_t i;
104 104
105 size = sizeof(ngx_freebsd_kern_ostype); 105 size = sizeof(ngx_freebsd_kern_ostype);
207 207
208 } else { 208 } else {
209 ngx_ncpu = ngx_freebsd_hw_ncpu; 209 ngx_ncpu = ngx_freebsd_hw_ncpu;
210 } 210 }
211 211
212 somaxconn = version < 600008 ? 32676 : 65535; 212 if (version < 600008 && ngx_freebsd_kern_ipc_somaxconn > 32767) {
213
214 if (ngx_freebsd_kern_ipc_somaxconn > somaxconn) {
215 ngx_log_error(NGX_LOG_ALERT, log, 0, 213 ngx_log_error(NGX_LOG_ALERT, log, 0,
216 "sysctl kern.ipc.somaxconn must be no more than %d", 214 "sysctl kern.ipc.somaxconn must be less than 32768");
217 somaxconn);
218 return NGX_ERROR; 215 return NGX_ERROR;
219 } 216 }
220 217
221 ngx_tcp_nodelay_and_tcp_nopush = 1; 218 ngx_tcp_nodelay_and_tcp_nopush = 1;
222 219