Mercurial > hg > nginx
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 |