diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/miscadmin.h | 1 | ||||
-rw-r--r-- | src/include/pgstat.h | 1 | ||||
-rw-r--r-- | src/include/storage/procsignal.h | 14 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 24f43ad6861..ed80f1d6681 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -82,6 +82,7 @@ extern PGDLLIMPORT volatile sig_atomic_t InterruptPending; extern PGDLLIMPORT volatile sig_atomic_t QueryCancelPending; extern PGDLLIMPORT volatile sig_atomic_t ProcDiePending; extern PGDLLIMPORT volatile sig_atomic_t IdleInTransactionSessionTimeoutPending; +extern PGDLLIMPORT volatile sig_atomic_t ProcSignalBarrierPending; extern PGDLLIMPORT volatile sig_atomic_t ClientConnectionLost; diff --git a/src/include/pgstat.h b/src/include/pgstat.h index fe076d823db..f2e873d048e 100644 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -908,6 +908,7 @@ typedef enum WAIT_EVENT_LOGICAL_REWRITE_SYNC, WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE, WAIT_EVENT_LOGICAL_REWRITE_WRITE, + WAIT_EVENT_PROC_SIGNAL_BARRIER, WAIT_EVENT_RELATION_MAP_READ, WAIT_EVENT_RELATION_MAP_SYNC, WAIT_EVENT_RELATION_MAP_WRITE, diff --git a/src/include/storage/procsignal.h b/src/include/storage/procsignal.h index 05b186a05c2..b7d0d43f0d1 100644 --- a/src/include/storage/procsignal.h +++ b/src/include/storage/procsignal.h @@ -45,6 +45,16 @@ typedef enum NUM_PROCSIGNALS /* Must be last! */ } ProcSignalReason; +typedef enum +{ + /* + * XXX. PROCSIGNAL_BARRIER_PLACEHOLDER should be replaced when the first + * real user of the ProcSignalBarrier mechanism is added. It's just here + * for now because we can't have an empty enum. + */ + PROCSIGNAL_BARRIER_PLACEHOLDER = 0 +} ProcSignalBarrierType; + /* * prototypes for functions in procsignal.c */ @@ -55,6 +65,10 @@ extern void ProcSignalInit(int pss_idx); extern int SendProcSignal(pid_t pid, ProcSignalReason reason, BackendId backendId); +extern uint64 EmitProcSignalBarrier(ProcSignalBarrierType type); +extern void WaitForProcSignalBarrier(uint64 generation); +extern void ProcessProcSignalBarrier(void); + extern void procsignal_sigusr1_handler(SIGNAL_ARGS); #endif /* PROCSIGNAL_H */ |