diff options
Diffstat (limited to 'src/backend/access/transam/varsup.c')
-rw-r--r-- | src/backend/access/transam/varsup.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c index abfee483174..302f9296240 100644 --- a/src/backend/access/transam/varsup.c +++ b/src/backend/access/transam/varsup.c @@ -35,6 +35,33 @@ VariableCache ShmemVariableCache = NULL; /* + * Initialization of shared memory for ShmemVariableCache. + */ +Size +VarsupShmemSize(void) +{ + return sizeof(VariableCacheData); +} + +void +VarsupShmemInit(void) +{ + bool found; + + /* Initialize our shared state struct */ + ShmemVariableCache = ShmemInitStruct("ShmemVariableCache", + sizeof(VariableCacheData), + &found); + if (!IsUnderPostmaster) + { + Assert(!found); + memset(ShmemVariableCache, 0, sizeof(VariableCacheData)); + } + else + Assert(found); +} + +/* * Allocate the next FullTransactionId for a new transaction or * subtransaction. * |