19#ifdef HAVE_SYS_PRCTL_H
23#ifdef HAVE_SYS_PROCCTL_H
24#include "sys/procctl.h"
47#define NUM_PMSIGNALS (PMSIGNAL_XLOG_IS_SHUTDOWN+1)
91#if (defined(HAVE_SYS_PRCTL_H) && defined(PR_SET_PDEATHSIG)) || \
92 (defined(HAVE_SYS_PROCCTL_H) && defined(PROC_PDEATHSIG_CTL))
93#define USE_POSTMASTER_DEATH_SIGNAL
96#ifdef USE_POSTMASTER_DEATH_SIGNAL
97extern PGDLLIMPORT volatile sig_atomic_t postmaster_possibly_dead;
102 if (
likely(!postmaster_possibly_dead))
107#define PostmasterIsAlive() PostmasterIsAliveInternal()
NON_EXEC_STATIC volatile PMSignalData * PMSignalState
#define PostmasterIsAlive()
Size PMSignalShmemSize(void)
bool CheckPostmasterSignal(PMSignalReason reason)
bool PostmasterIsAliveInternal(void)
QuitSignalReason GetQuitSignalReason(void)
void MarkPostmasterChildSlotAssigned(int slot)
void SendPostmasterSignal(PMSignalReason reason)
void SetQuitSignalReason(QuitSignalReason reason)
bool MarkPostmasterChildSlotUnassigned(int slot)
void MarkPostmasterChildWalSender(void)
@ PMSIGNAL_START_AUTOVAC_WORKER
@ PMSIGNAL_RECOVERY_STARTED
@ PMSIGNAL_START_WALRECEIVER
@ PMSIGNAL_START_AUTOVAC_LAUNCHER
@ PMSIGNAL_BEGIN_HOT_STANDBY
@ PMSIGNAL_RECOVERY_CONSISTENT
@ PMSIGNAL_XLOG_IS_SHUTDOWN
@ PMSIGNAL_BACKGROUND_WORKER_CHANGE
@ PMSIGNAL_ROTATE_LOGFILE
@ PMSIGNAL_ADVANCE_STATE_MACHINE
bool IsPostmasterChildWalSender(int slot)
void RegisterPostmasterChildActive(void)
void PostmasterDeathSignalInit(void)
void PMSignalShmemInit(void)