Mercurial > hg > nginx
diff src/os/win32/ngx_shmem.c @ 2903:beb0707ed8ab
allow shared memory segments more than 4G
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sat, 30 May 2009 17:06:38 +0000 |
parents | d52cf82d0d77 |
children | 474a9daf8c80 |
line wrap: on
line diff
--- a/src/os/win32/ngx_shmem.c +++ b/src/os/win32/ngx_shmem.c @@ -11,7 +11,8 @@ ngx_int_t ngx_shm_alloc(ngx_shm_t *shm) { - u_char *name; + u_char *name; + uint64_t size; name = ngx_alloc(shm->name.len + 2 + sizeof(NGX_INT32_LEN), shm->log); if (name == NULL) { @@ -22,8 +23,12 @@ ngx_shm_alloc(ngx_shm_t *shm) ngx_set_errno(0); + size = shm->size; + shm->handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, - 0, shm->size, (char *) name); + (u_long) (size >> 32), + (u_long) (size & 0xffffffff), + (char *) name); if (shm->handle == NULL) { ngx_log_error(NGX_LOG_ALERT, shm->log, ngx_errno,