|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <signal.h>#include <unistd.h>#include "miscadmin.h"#include "postmaster/postmaster.h"#include "replication/walsender.h"#include "storage/ipc.h"#include "storage/pmsignal.h"#include "storage/shmem.h"#include "utils/memutils.h"
Go to the source code of this file.
Data Structures | |
| struct | PMSignalData |
Macros | |
| #define | PM_CHILD_UNUSED 0 /* these values must fit in sig_atomic_t */ |
| #define | PM_CHILD_ASSIGNED 1 |
| #define | PM_CHILD_ACTIVE 2 |
| #define | PM_CHILD_WALSENDER 3 |
Variables | |
| NON_EXEC_STATIC volatile PMSignalData * | PMSignalState = NULL |
| static int | num_child_flags |
| #define PM_CHILD_ACTIVE 2 |
Definition at line 68 of file pmsignal.c.
| #define PM_CHILD_ASSIGNED 1 |
Definition at line 67 of file pmsignal.c.
Definition at line 66 of file pmsignal.c.
| #define PM_CHILD_WALSENDER 3 |
Definition at line 69 of file pmsignal.c.
| bool CheckPostmasterSignal | ( | PMSignalReason | reason | ) |
Definition at line 182 of file pmsignal.c.
References PMSignalData::PMSignalFlags, and PMSignalState.
Referenced by process_pm_pmsignal().
| QuitSignalReason GetQuitSignalReason | ( | void | ) |
Definition at line 213 of file pmsignal.c.
References fb(), IsUnderPostmaster, PMQUIT_NOT_SENT, PMSignalState, and PMSignalData::sigquit_reason.
Referenced by quickdie().
Definition at line 271 of file pmsignal.c.
References Assert, num_child_flags, PM_CHILD_WALSENDER, PMSignalData::PMChildFlags, and PMSignalState.
Referenced by CountChildren(), and SignalChildren().
Definition at line 326 of file pmsignal.c.
References Assert, fb(), MyPMChildSlot, num_child_flags, PM_CHILD_ACTIVE, PM_CHILD_ASSIGNED, PM_CHILD_WALSENDER, PMSignalData::PMChildFlags, and PMSignalState.
Referenced by RegisterPostmasterChildActive().
Definition at line 230 of file pmsignal.c.
References Assert, elog, FATAL, num_child_flags, PM_CHILD_ASSIGNED, PM_CHILD_UNUSED, PMSignalData::PMChildFlags, and PMSignalState.
Referenced by AssignPostmasterChildSlot().
Definition at line 249 of file pmsignal.c.
References Assert, num_child_flags, PM_CHILD_ASSIGNED, PM_CHILD_UNUSED, PMSignalData::PMChildFlags, and PMSignalState.
Referenced by ReleasePostmasterChildSlot().
Definition at line 309 of file pmsignal.c.
References am_walsender, Assert, fb(), MyPMChildSlot, num_child_flags, PM_CHILD_ACTIVE, PM_CHILD_WALSENDER, PMSignalData::PMChildFlags, and PMSignalState.
Referenced by InitWalSender().
Definition at line 145 of file pmsignal.c.
References MaxLivePostmasterChildren(), MemSet, PMSignalData::num_child_flags, num_child_flags, PMSignalShmemSize(), PMSignalState, ShmemInitStruct(), and unvolatize.
Referenced by CreateOrAttachShmemStructs().
Definition at line 130 of file pmsignal.c.
References add_size(), fb(), MaxLivePostmasterChildren(), and mul_size().
Referenced by CalculateShmemSize(), and PMSignalShmemInit().
Definition at line 407 of file pmsignal.c.
References elog, ERROR, fb(), and pqsignal.
Referenced by InitPostmasterChild().
Definition at line 346 of file pmsignal.c.
References EAGAIN, elog, EWOULDBLOCK, FATAL, fb(), postmaster_alive_fds, POSTMASTER_FD_WATCH, and read.
Referenced by WaitEventSetWaitBlock().
Definition at line 290 of file pmsignal.c.
References Assert, fb(), MarkPostmasterChildInactive(), MyPMChildSlot, num_child_flags, on_shmem_exit(), PM_CHILD_ACTIVE, PM_CHILD_ASSIGNED, PMSignalData::PMChildFlags, and PMSignalState.
Referenced by InitAuxiliaryProcess(), and InitProcess().
| void SendPostmasterSignal | ( | PMSignalReason | reason | ) |
Definition at line 165 of file pmsignal.c.
References IsUnderPostmaster, kill, PMSignalData::PMSignalFlags, PMSignalState, PostmasterPid, and SIGUSR1.
Referenced by AutoVacLauncherMain(), CheckpointerMain(), CheckRecoveryConsistency(), do_start_worker(), GetNewMultiXactId(), GetNewTransactionId(), InitWalSender(), PerformWalRecovery(), pg_rotate_logfile(), RegisterDynamicBackgroundWorker(), RequestXLogStreaming(), SetMultiXactIdLimit(), SetTransactionIdLimit(), TerminateBackgroundWorker(), and TerminateBackgroundWorkersForDatabase().
| void SetQuitSignalReason | ( | QuitSignalReason | reason | ) |
Definition at line 202 of file pmsignal.c.
References PMSignalState, and PMSignalData::sigquit_reason.
Referenced by HandleFatalError(), and process_pm_shutdown_request().
|
static |
Definition at line 91 of file pmsignal.c.
Referenced by IsPostmasterChildWalSender(), MarkPostmasterChildInactive(), MarkPostmasterChildSlotAssigned(), MarkPostmasterChildSlotUnassigned(), MarkPostmasterChildWalSender(), PMSignalShmemInit(), and RegisterPostmasterChildActive().
| NON_EXEC_STATIC volatile PMSignalData* PMSignalState = NULL |
Definition at line 84 of file pmsignal.c.
Referenced by CheckPostmasterSignal(), GetQuitSignalReason(), IsPostmasterChildWalSender(), MarkPostmasterChildInactive(), MarkPostmasterChildSlotAssigned(), MarkPostmasterChildSlotUnassigned(), MarkPostmasterChildWalSender(), PMSignalShmemInit(), RegisterPostmasterChildActive(), SendPostmasterSignal(), and SetQuitSignalReason().