summaryrefslogtreecommitdiff
path: root/src/include/storage/shmem.h
diff options
context:
space:
mode:
authorPeter Eisentraut2024-07-02 04:55:56 +0000
committerPeter Eisentraut2024-07-02 05:26:22 +0000
commit8f8bcb88833eecfffbbb0d048ff0b6c33e64f7ce (patch)
tree63482c055847034d86e005145280bb33a38495e6 /src/include/storage/shmem.h
parent881455e57b1210174b89bb3b13cad6b30b236d50 (diff)
Improve some global variable declarations
We have in launch_backend.c: /* * The following need to be available to the save/restore_backend_variables * functions. They are marked NON_EXEC_STATIC in their home modules. */ extern slock_t *ShmemLock; extern slock_t *ProcStructLock; extern PGPROC *AuxiliaryProcs; extern PMSignalData *PMSignalState; extern pg_time_t first_syslogger_file_time; extern struct bkend *ShmemBackendArray; extern bool redirection_done; That comment is not completely true: ShmemLock, ShmemBackendArray, and redirection_done are not in fact NON_EXEC_STATIC. ShmemLock once was, but was then needed elsewhere. ShmemBackendArray was static inside postmaster.c before launch_backend.c was created. redirection_done was never static. This patch moves the declaration of ShmemLock and redirection_done to a header file. ShmemBackendArray gets a NON_EXEC_STATIC. This doesn't make a difference, since it only exists if EXEC_BACKEND anyway, but it makes it consistent. After that, the comment is now correct. Reviewed-by: Andres Freund <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/[email protected]
Diffstat (limited to 'src/include/storage/shmem.h')
-rw-r--r--src/include/storage/shmem.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/storage/shmem.h b/src/include/storage/shmem.h
index 3b0cc9d3800..842989111c3 100644
--- a/src/include/storage/shmem.h
+++ b/src/include/storage/shmem.h
@@ -21,10 +21,12 @@
#ifndef SHMEM_H
#define SHMEM_H
+#include "storage/spin.h"
#include "utils/hsearch.h"
/* shmem.c */
+extern PGDLLIMPORT slock_t *ShmemLock;
extern void InitShmemAccess(void *seghdr);
extern void InitShmemAllocation(void);
extern void *ShmemAlloc(Size size);