19#ifdef HAVE_SYS_PRCTL_H
23#ifdef HAVE_SYS_PROCCTL_H
24#include "sys/procctl.h"
45#define NUM_PMSIGNALS (PMSIGNAL_ADVANCE_STATE_MACHINE+1)
89#if (defined(HAVE_SYS_PRCTL_H) && defined(PR_SET_PDEATHSIG)) || \
90 (defined(HAVE_SYS_PROCCTL_H) && defined(PROC_PDEATHSIG_CTL))
91#define USE_POSTMASTER_DEATH_SIGNAL
94#ifdef USE_POSTMASTER_DEATH_SIGNAL
95extern PGDLLIMPORT volatile sig_atomic_t postmaster_possibly_dead;
100 if (
likely(!postmaster_possibly_dead))
105#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_BACKGROUND_WORKER_CHANGE
@ PMSIGNAL_ROTATE_LOGFILE
@ PMSIGNAL_ADVANCE_STATE_MACHINE
bool IsPostmasterChildWalSender(int slot)
void RegisterPostmasterChildActive(void)
void PostmasterDeathSignalInit(void)
void PMSignalShmemInit(void)