aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_shared.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-02-01 18:22:15 +0000
committerIgor Sysoev <igor@sysoev.ru>2006-02-01 18:22:15 +0000
commit9e58019dc287493e02543d614c975cc14295a71e (patch)
tree328bccfba6e86794eafc546a7cb7ec8aff007b7f /src/os/unix/ngx_shared.c
parente8038c0d1a044f2046d5f7adeb1586d17a5bd81a (diff)
downloadnginx-release-0.3.24.tar.gz
nginx-release-0.3.24.zip
nginx-0.3.24-RELEASE importrelease-0.3.24
*) Workaround: for bug in FreeBSD kqueue. *) Bugfix: now a response generated by the "post_action" directive is not transferred to a client. *) Bugfix: the memory leaks were occurring if many log files were used. *) Bugfix: the first "proxy_redirect" directive was working inside one location. *) Bugfix: on 64-bit platforms segmentation fault may occurred on start if the many names were used in the "server_name" directives; the bug had appeared in 0.3.18.
Diffstat (limited to 'src/os/unix/ngx_shared.c')
-rw-r--r--src/os/unix/ngx_shared.c95
1 files changed, 0 insertions, 95 deletions
diff --git a/src/os/unix/ngx_shared.c b/src/os/unix/ngx_shared.c
deleted file mode 100644
index 80b5f601f..000000000
--- a/src/os/unix/ngx_shared.c
+++ /dev/null
@@ -1,95 +0,0 @@
-
-/*
- * Copyright (C) Igor Sysoev
- */
-
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-
-
-#if (NGX_HAVE_MAP_ANON)
-
-void *ngx_create_shared_memory(size_t size, ngx_log_t *log)
-{
- void *p;
-
- p = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_ANON|MAP_SHARED, -1, 0);
-
- if (p == MAP_FAILED) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- "mmap(MAP_ANON|MAP_SHARED, %uz) failed", size);
- return NULL;
- }
-
- return p;
-}
-
-#elif (NGX_HAVE_MAP_DEVZERO)
-
-void *ngx_create_shared_memory(size_t size, ngx_log_t *log)
-{
- void *p;
- ngx_fd_t fd;
-
- fd = open("/dev/zero", O_RDWR);
-
- if (fd == -1) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- "open(\"/dev/zero\") failed");
- return NULL;
- }
-
- p = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
-
- if (p == MAP_FAILED) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- "mmap(/dev/zero, MAP_SHARED, %uz) failed", size);
- p = NULL;
- }
-
- if (close(fd) == -1) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- "close(\"/dev/zero\") failed");
- }
-
- return p;
-}
-
-#elif (NGX_HAVE_SYSVSHM)
-
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-
-void *ngx_create_shared_memory(size_t size, ngx_log_t *log)
-{
- int id;
- void *p;
-
- id = shmget(IPC_PRIVATE, size, (SHM_R|SHM_W|IPC_CREAT));
-
- if (id == -1) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- "shmget(%uz) failed", size);
- return NULL;
- }
-
- ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0, "shmget id: %d", id);
-
- p = shmat(id, NULL, 0);
-
- if (p == (void *) -1) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "shmat() failed");
- p = NULL;
- }
-
- if (shmctl(id, IPC_RMID, NULL) == -1) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "shmctl(IPC_RMID) failed");
- p = NULL;
- }
-
- return p;
-}
-
-#endif