diff options
author | Robert Haas <rhaas@postgresql.org> | 2013-10-09 21:05:02 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2013-10-09 21:05:02 -0400 |
commit | 0ac5e5a7e152504c71ce2168acc9cef7fde7893c (patch) | |
tree | 9060ae6a71ae9b7ce5fda85846d3060cdc215432 /src/backend/port/sysv_shmem.c | |
parent | f566515192461acd8d9c232f48ddac3fc965cfd8 (diff) |
Allow dynamic allocation of shared memory segments.
Patch by myself and Amit Kapila. Design help from Noah Misch. Review
by Andres Freund.
Diffstat (limited to 'src/backend/port/sysv_shmem.c')
-rw-r--r-- | src/backend/port/sysv_shmem.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c index 20e3c321abd..b604407999c 100644 --- a/src/backend/port/sysv_shmem.c +++ b/src/backend/port/sysv_shmem.c @@ -29,6 +29,7 @@ #endif #include "miscadmin.h" +#include "portability/mem.h" #include "storage/ipc.h" #include "storage/pg_shmem.h" @@ -36,31 +37,6 @@ typedef key_t IpcMemoryKey; /* shared memory key passed to shmget(2) */ typedef int IpcMemoryId; /* shared memory ID returned by shmget(2) */ -#define IPCProtection (0600) /* access/modify by user only */ - -#ifdef SHM_SHARE_MMU /* use intimate shared memory on Solaris */ -#define PG_SHMAT_FLAGS SHM_SHARE_MMU -#else -#define PG_SHMAT_FLAGS 0 -#endif - -/* Linux prefers MAP_ANONYMOUS, but the flag is called MAP_ANON on other systems. */ -#ifndef MAP_ANONYMOUS -#define MAP_ANONYMOUS MAP_ANON -#endif - -/* BSD-derived systems have MAP_HASSEMAPHORE, but it's not present (or needed) on Linux. */ -#ifndef MAP_HASSEMAPHORE -#define MAP_HASSEMAPHORE 0 -#endif - -#define PG_MMAP_FLAGS (MAP_SHARED|MAP_ANONYMOUS|MAP_HASSEMAPHORE) - -/* Some really old systems don't define MAP_FAILED. */ -#ifndef MAP_FAILED -#define MAP_FAILED ((void *) -1) -#endif - unsigned long UsedShmemSegID = 0; void *UsedShmemSegAddr = NULL; |