diff options
Diffstat (limited to 'src/include/storage/pg_shmem.h')
-rw-r--r-- | src/include/storage/pg_shmem.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/include/storage/pg_shmem.h b/src/include/storage/pg_shmem.h index 1247fdf3e68..57d3107a89f 100644 --- a/src/include/storage/pg_shmem.h +++ b/src/include/storage/pg_shmem.h @@ -41,7 +41,8 @@ typedef struct PGShmemHeader /* standard header for all Postgres shmem */ #endif } PGShmemHeader; -/* GUC variable */ +/* GUC variables */ +extern int shared_memory_type; extern int huge_pages; /* Possible values for huge_pages */ @@ -52,6 +53,14 @@ typedef enum HUGE_PAGES_TRY } HugePagesType; +/* Possible values for shared_memory_type */ +typedef enum +{ + SHMEM_TYPE_WINDOWS, + SHMEM_TYPE_SYSV, + SHMEM_TYPE_MMAP +} PGShmemType; + #ifndef WIN32 extern unsigned long UsedShmemSegID; #else @@ -59,6 +68,14 @@ extern HANDLE UsedShmemSegID; #endif extern void *UsedShmemSegAddr; +#if !defined(WIN32) && !defined(EXEC_BACKEND) +#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_MMAP +#elif !defined(WIN32) +#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_SYSV +#else +#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_WINDOWS +#endif + #ifdef EXEC_BACKEND extern void PGSharedMemoryReAttach(void); extern void PGSharedMemoryNoReAttach(void); |