diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-06-30 15:30:41 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-06-30 15:30:41 +0000 |
commit | 078d1b2c2263690f2f6b7217b567eeeb525910d0 (patch) | |
tree | dfb82cccd10c3dee8a500506f7692b0445200e5c /src/os/unix/ngx_freebsd_init.c | |
parent | 0a94cfd2ae9ca87b4d988b5066f739a3034f3bff (diff) | |
download | nginx-078d1b2c2263690f2f6b7217b567eeeb525910d0.tar.gz nginx-078d1b2c2263690f2f6b7217b567eeeb525910d0.zip |
nginx-0.0.7-2004-06-30-19:30:41 import
Diffstat (limited to 'src/os/unix/ngx_freebsd_init.c')
-rw-r--r-- | src/os/unix/ngx_freebsd_init.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/os/unix/ngx_freebsd_init.c b/src/os/unix/ngx_freebsd_init.c index 35be16412..5addd26a8 100644 --- a/src/os/unix/ngx_freebsd_init.c +++ b/src/os/unix/ngx_freebsd_init.c @@ -8,6 +8,7 @@ char ngx_freebsd_kern_ostype[20]; char ngx_freebsd_kern_osrelease[20]; int ngx_freebsd_kern_osreldate; int ngx_freebsd_hw_ncpu; +int ngx_freebsd_machdep_hlt_logical_cpus; int ngx_freebsd_net_inet_tcp_sendspace; int ngx_freebsd_sendfile_nbytes_bug; int ngx_freebsd_use_tcp_nopush; @@ -42,6 +43,10 @@ sysctl_t sysctls[] = { &ngx_freebsd_hw_ncpu, sizeof(int)}, + {"machdep.hlt_logical_cpus", + &ngx_freebsd_machdep_hlt_logical_cpus, + sizeof(int)}, + {"net.inet.tcp.sendspace", &ngx_freebsd_net_inet_tcp_sendspace, sizeof(int)}, @@ -166,6 +171,10 @@ int ngx_os_init(ngx_log_t *log) == -1) { err = errno; if (err != NGX_ENOENT) { + if (sysctls[i].value == &ngx_freebsd_machdep_hlt_logical_cpus) { + continue; + } + ngx_log_error(NGX_LOG_ALERT, log, err, "sysctlbyname(%s) failed", sysctls[i].name); return NGX_ERROR; @@ -177,5 +186,11 @@ int ngx_os_init(ngx_log_t *log) } } + if (ngx_freebsd_machdep_hlt_logical_cpus) { + ngx_ncpu = ngx_freebsd_hw_ncpu / 2; + } else { + ngx_ncpu = ngx_freebsd_hw_ncpu; + } + return ngx_posix_init(log); } |