aboutsummaryrefslogtreecommitdiff
path: root/src/os
diff options
context:
space:
mode:
Diffstat (limited to 'src/os')
-rw-r--r--src/os/unix/ngx_alloc.c3
-rw-r--r--src/os/unix/ngx_alloc.h3
-rw-r--r--src/os/unix/ngx_posix_init.c6
-rw-r--r--src/os/win32/ngx_alloc.c3
-rw-r--r--src/os/win32/ngx_alloc.h3
-rw-r--r--src/os/win32/ngx_errno.h1
-rw-r--r--src/os/win32/ngx_win32_init.c3
7 files changed, 18 insertions, 4 deletions
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 <ngx_core.h>
-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;
}
diff --git a/src/os/win32/ngx_alloc.c b/src/os/win32/ngx_alloc.c
index 82ede7211..d04c3f37c 100644
--- a/src/os/win32/ngx_alloc.c
+++ b/src/os/win32/ngx_alloc.c
@@ -8,7 +8,8 @@
#include <ngx_core.h>
-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/win32/ngx_alloc.h b/src/os/win32/ngx_alloc.h
index 9d8d83750..805a41b3c 100644
--- a/src/os/win32/ngx_alloc.h
+++ b/src/os/win32/ngx_alloc.h
@@ -18,7 +18,8 @@ void *ngx_calloc(size_t size, ngx_log_t *log);
#define ngx_free free
#define ngx_memalign(alignment, size, log) ngx_alloc(size, log)
-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/win32/ngx_errno.h b/src/os/win32/ngx_errno.h
index 5f1fab220..588d28879 100644
--- a/src/os/win32/ngx_errno.h
+++ b/src/os/win32/ngx_errno.h
@@ -21,6 +21,7 @@ typedef DWORD ngx_err_t;
#define NGX_EPERM ERROR_ACCESS_DENIED
#define NGX_ENOENT ERROR_FILE_NOT_FOUND
+#define NGX_ENOMEM ERROR_NOT_ENOUGH_MEMORY
#define NGX_EACCES ERROR_ACCESS_DENIED
#if 0
#define NGX_EEXIST ERROR_FILE_EXISTS
diff --git a/src/os/win32/ngx_win32_init.c b/src/os/win32/ngx_win32_init.c
index b4ac2b8b5..9c233c7b3 100644
--- a/src/os/win32/ngx_win32_init.c
+++ b/src/os/win32/ngx_win32_init.c
@@ -53,6 +53,7 @@ ngx_int_t ngx_os_init(ngx_log_t *log)
DWORD bytes;
SOCKET s;
WSADATA wsd;
+ ngx_uint_t n;
SYSTEM_INFO si;
/* get Windows version */
@@ -101,6 +102,8 @@ ngx_int_t ngx_os_init(ngx_log_t *log)
ngx_ncpu = si.dwNumberOfProcessors;
ngx_cacheline_size = NGX_CPU_CACHE_LINE;
+ for (n = ngx_pagesize; n >>= 1; ngx_pagesize_shift++) { /* void */ }
+
/* init Winsock */