Improve some global variable declarations
Peter Eisentraut <peter@eisentraut.org>
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 <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/flat/e0a62134-83da-4ba4-8cdb-ceb0111c95ce@eisentraut.org
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/postmaster/launch_backend.c | modified | +0 −2 |
| src/backend/postmaster/postmaster.c | modified | +1 −1 |
| src/backend/postmaster/syslogger.c | modified | +0 −2 |
| src/backend/storage/lmgr/lwlock.c | modified | +1 −3 |
| src/backend/utils/error/elog.c | modified | +0 −2 |
| src/include/postmaster/postmaster.h | modified | +1 −0 |
| src/include/storage/shmem.h | modified | +2 −0 |
Discussion
- consider -Wmissing-variable-declarations 13 messages · 2024-05-09 → 2026-02-21