Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit d3cc5ff

Browse files
committed
Move extern declarations for EXEC_BACKEND to header files
This fixes warnings from -Wmissing-variable-declarations (not yet part of the standard warning options) under EXEC_BACKEND. The NON_EXEC_STATIC variables need a suitable declaration in a header file under EXEC_BACKEND. Also fix the inconsistent application of the volatile qualifier for PMSignalState, which was revealed by this change. Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://www.postgresql.org/message-id/flat/e0a62134-83da-4ba4-8cdb-ceb0111c95ce@eisentraut.org
1 parent 840b3b5 commit d3cc5ff

File tree

5 files changed

+18
-11
lines changed

5 files changed

+18
-11
lines changed

src/backend/postmaster/launch_backend.c

+1-11
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ typedef struct
114114
PROC_HDR *ProcGlobal;
115115
PGPROC *AuxiliaryProcs;
116116
PGPROC *PreparedXactProcs;
117-
PMSignalData *PMSignalState;
117+
volatile PMSignalData *PMSignalState;
118118
pid_t PostmasterPid;
119119
TimestampTz PgStartTime;
120120
TimestampTz PgReloadTime;
@@ -668,16 +668,6 @@ SubPostmasterMain(int argc, char *argv[])
668668
pg_unreachable(); /* main_fn never returns */
669669
}
670670

671-
/*
672-
* The following need to be available to the save/restore_backend_variables
673-
* functions. They are marked NON_EXEC_STATIC in their home modules.
674-
*/
675-
extern slock_t *ProcStructLock;
676-
extern PGPROC *AuxiliaryProcs;
677-
extern PMSignalData *PMSignalState;
678-
extern pg_time_t first_syslogger_file_time;
679-
extern struct bkend *ShmemBackendArray;
680-
681671
#ifndef WIN32
682672
#define write_inheritable_socket(dest, src, childpid) ((*(dest) = (src)), true)
683673
#define read_inheritable_socket(dest, src) (*(dest) = *(src))

src/include/postmaster/postmaster.h

+4
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ extern PGDLLIMPORT bool remove_temp_files_after_crash;
3636
extern PGDLLIMPORT bool send_abort_for_crash;
3737
extern PGDLLIMPORT bool send_abort_for_kill;
3838

39+
#ifdef EXEC_BACKEND
40+
extern struct bkend *ShmemBackendArray;
41+
#endif
42+
3943
#ifdef WIN32
4044
extern PGDLLIMPORT HANDLE PostmasterHandle;
4145
#else

src/include/postmaster/syslogger.h

+4
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ extern PGDLLIMPORT char *Log_filename;
7575
extern PGDLLIMPORT bool Log_truncate_on_rotation;
7676
extern PGDLLIMPORT int Log_file_mode;
7777

78+
#ifdef EXEC_BACKEND
79+
extern pg_time_t first_syslogger_file_time;
80+
#endif
81+
7882
#ifndef WIN32
7983
extern PGDLLIMPORT int syslogPipe[2];
8084
#else

src/include/storage/pmsignal.h

+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ typedef enum
5757
/* PMSignalData is an opaque struct, details known only within pmsignal.c */
5858
typedef struct PMSignalData PMSignalData;
5959

60+
#ifdef EXEC_BACKEND
61+
extern volatile PMSignalData *PMSignalState;
62+
#endif
63+
6064
/*
6165
* prototypes for functions in pmsignal.c
6266
*/

src/include/storage/proc.h

+5
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,11 @@ extern PGDLLIMPORT int TransactionTimeout;
453453
extern PGDLLIMPORT int IdleSessionTimeout;
454454
extern PGDLLIMPORT bool log_lock_waits;
455455

456+
#ifdef EXEC_BACKEND
457+
extern slock_t *ProcStructLock;
458+
extern PGPROC *AuxiliaryProcs;
459+
#endif
460+
456461

457462
/*
458463
* Function Prototypes

0 commit comments

Comments
 (0)