From 03789a0a1c208ac62bee429497b9f6a46c0aa5ff Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Mon, 27 Nov 2006 11:18:50 +0000 Subject: Changes with nginx 0.4.14 27 Nov 2006 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. *) Bugfix: ngx_http_perl_module did nto work with perl built with the threads support; bug appeared in 0.3.38. *) Bugfix: !!!!!!!!!! segfault perl. *) Bugfix: !!!!!!!!!! recursive perl. *) Bugfix: nginx ignored a host name in an request line. *) Bugfix: !!!!!!!!!! endless loop when too many FastCGI sent too many to stderr *) Bugfix: !!!!!!!! negative upstream response time *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 proxy authentication server when POP3 was used. *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 proxy authentication server failed. --- src/os/unix/ngx_alloc.c | 3 ++- src/os/unix/ngx_alloc.h | 3 ++- src/os/unix/ngx_posix_init.c | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/os/unix') diff --git a/src/os/unix/ngx_alloc.c b/src/os/unix/ngx_alloc.c index 25606e2f6..c38d7d27e 100644 --- a/src/os/unix/ngx_alloc.c +++ b/src/os/unix/ngx_alloc.c @@ -8,7 +8,8 @@ #include -int ngx_pagesize; +ngx_uint_t ngx_pagesize; +ngx_uint_t ngx_pagesize_shift; ngx_uint_t ngx_cacheline_size; diff --git a/src/os/unix/ngx_alloc.h b/src/os/unix/ngx_alloc.h index a88818e2e..8b7b766b2 100644 --- a/src/os/unix/ngx_alloc.h +++ b/src/os/unix/ngx_alloc.h @@ -36,7 +36,8 @@ void *ngx_memalign(size_t alignment, size_t size, ngx_log_t *log); #endif -extern int ngx_pagesize; +extern ngx_uint_t ngx_pagesize; +extern ngx_uint_t ngx_pagesize_shift; extern ngx_uint_t ngx_cacheline_size; diff --git a/src/os/unix/ngx_posix_init.c b/src/os/unix/ngx_posix_init.c index 4844ae52f..39e1b584a 100644 --- a/src/os/unix/ngx_posix_init.c +++ b/src/os/unix/ngx_posix_init.c @@ -30,6 +30,8 @@ ngx_os_io_t ngx_os_io = { ngx_int_t ngx_os_init(ngx_log_t *log) { + ngx_uint_t n; + #if (NGX_HAVE_OS_SPECIFIC_INIT) if (ngx_os_specific_init(log) != NGX_OK) { return NGX_ERROR; @@ -41,6 +43,10 @@ ngx_os_init(ngx_log_t *log) ngx_pagesize = getpagesize(); ngx_cacheline_size = NGX_CPU_CACHE_LINE; + n = ngx_pagesize; + + for (n = ngx_pagesize; n >>= 1; ngx_pagesize_shift++) { /* void */ } + if (ngx_ncpu == 0) { ngx_ncpu = 1; } -- cgit v1.2.1