1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-19 13:42:17 +03:00

Rename some signal and interrupt handling functions for consistency

The usual pattern for handling a signal is that the signal handler
sets a flag and calls SetLatch(MyLatch), and CHECK_FOR_INTERRUPTS() or
other code that is part of a wait loop calls another function to deal
with it. The naming of the functions involved was a bit inconsistent,
however. CHECK_FOR_INTERRUPTS() calls ProcessInterrupts() to do the
heavy-lifting, but the analogous functions in aux processes were
called HandleMainLoopInterrupts(), HandleStartupProcInterrupts(),
etc. Similarly, most subroutines of ProcessInterrupts() were called
Process*(), but some were called Handle*().

To make things less confusing, rename all the functions that are part
of the overall signal/interrupt handling system but are not executed
in a signal handler to e.g. ProcessSomething(), rather than
HandleSomething(). The "Process" prefix is now consistently used in
the non-signal-handler functions, and the "Handle" prefix in functions
that are part of signal handlers, except for some completely unrelated
functions that clearly have nothing to do with signal or interrupt
handling.

Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Discussion: https://www.postgresql.org/message-id/8a384b26-1499-41f6-be33-64b801fb98b8@iki.fi
This commit is contained in:
Heikki Linnakangas
2025-03-05 16:22:26 +02:00
parent f4e53e10b6
commit 635f580120
16 changed files with 54 additions and 54 deletions

View File

@@ -316,7 +316,7 @@ static WorkerInfo MyWorkerInfo = NULL;
int AutovacuumLauncherPid = 0;
static Oid do_start_worker(void);
static void HandleAutoVacLauncherInterrupts(void);
static void ProcessAutoVacLauncherInterrupts(void);
static void AutoVacLauncherShutdown(void) pg_attribute_noreturn();
static void launcher_determine_sleep(bool canlaunch, bool recursing,
struct timeval *nap);
@@ -594,7 +594,7 @@ AutoVacLauncherMain(const void *startup_data, size_t startup_data_len)
ResetLatch(MyLatch);
HandleAutoVacLauncherInterrupts();
ProcessAutoVacLauncherInterrupts();
/*
* a worker finished, or postmaster signaled failure to start a worker
@@ -742,7 +742,7 @@ AutoVacLauncherMain(const void *startup_data, size_t startup_data_len)
* Process any new interrupts.
*/
static void
HandleAutoVacLauncherInterrupts(void)
ProcessAutoVacLauncherInterrupts(void)
{
/* the normal shutdown case */
if (ShutdownRequestPending)

View File

@@ -226,7 +226,7 @@ BackgroundWriterMain(const void *startup_data, size_t startup_data_len)
/* Clear any already-pending wakeups */
ResetLatch(MyLatch);
HandleMainLoopInterrupts();
ProcessMainLoopInterrupts();
/*
* Do one cycle of dirty-buffer writing.

View File

@@ -157,7 +157,7 @@ static pg_time_t last_xlog_switch_time;
/* Prototypes for private functions */
static void HandleCheckpointerInterrupts(void);
static void ProcessCheckpointerInterrupts(void);
static void CheckArchiveTimeout(void);
static bool IsCheckpointOnSchedule(double progress);
static bool ImmediateCheckpointRequested(void);
@@ -359,7 +359,7 @@ CheckpointerMain(const void *startup_data, size_t startup_data_len)
*/
AbsorbSyncRequests();
HandleCheckpointerInterrupts();
ProcessCheckpointerInterrupts();
if (ShutdownXLOGPending || ShutdownRequestPending)
break;
@@ -536,7 +536,7 @@ CheckpointerMain(const void *startup_data, size_t startup_data_len)
* We may have received an interrupt during the checkpoint and the
* latch might have been reset (e.g. in CheckpointWriteDelay).
*/
HandleCheckpointerInterrupts();
ProcessCheckpointerInterrupts();
if (ShutdownXLOGPending || ShutdownRequestPending)
break;
}
@@ -615,7 +615,7 @@ CheckpointerMain(const void *startup_data, size_t startup_data_len)
/* Clear any already-pending wakeups */
ResetLatch(MyLatch);
HandleCheckpointerInterrupts();
ProcessCheckpointerInterrupts();
if (ShutdownRequestPending)
break;
@@ -634,7 +634,7 @@ CheckpointerMain(const void *startup_data, size_t startup_data_len)
* Process any new interrupts.
*/
static void
HandleCheckpointerInterrupts(void)
ProcessCheckpointerInterrupts(void)
{
if (ProcSignalBarrierPending)
ProcessProcSignalBarrier();

View File

@@ -31,7 +31,7 @@ volatile sig_atomic_t ShutdownRequestPending = false;
* Simple interrupt handler for main loops of background processes.
*/
void
HandleMainLoopInterrupts(void)
ProcessMainLoopInterrupts(void)
{
if (ProcSignalBarrierPending)
ProcessProcSignalBarrier();
@@ -55,7 +55,7 @@ HandleMainLoopInterrupts(void)
*
* Normally, this handler would be used for SIGHUP. The idea is that code
* which uses it would arrange to check the ConfigReloadPending flag at
* convenient places inside main loops, or else call HandleMainLoopInterrupts.
* convenient places inside main loops, or else call ProcessMainLoopInterrupts.
*/
void
SignalHandlerForConfigReload(SIGNAL_ARGS)
@@ -99,7 +99,7 @@ SignalHandlerForCrashExit(SIGNAL_ARGS)
* SIGINT or SIGTERM.
*
* ShutdownRequestPending should be checked at a convenient place within the
* main loop, or else the main loop should call HandleMainLoopInterrupts.
* main loop, or else the main loop should call ProcessMainLoopInterrupts.
*/
void
SignalHandlerForShutdownRequest(SIGNAL_ARGS)

View File

@@ -147,7 +147,7 @@ static bool pgarch_archiveXlog(char *xlog);
static bool pgarch_readyXlog(char *xlog);
static void pgarch_archiveDone(char *xlog);
static void pgarch_die(int code, Datum arg);
static void HandlePgArchInterrupts(void);
static void ProcessPgArchInterrupts(void);
static int ready_file_comparator(Datum a, Datum b, void *arg);
static void LoadArchiveLibrary(void);
static void pgarch_call_module_shutdown_cb(int code, Datum arg);
@@ -324,7 +324,7 @@ pgarch_MainLoop(void)
time_to_stop = ready_to_stop;
/* Check for barrier events and config update */
HandlePgArchInterrupts();
ProcessPgArchInterrupts();
/*
* If we've gotten SIGTERM, we normally just sit and do nothing until
@@ -415,7 +415,7 @@ pgarch_ArchiverCopyLoop(void)
* we'll adopt a new setting for archive_command as soon as
* possible, even if there is a backlog of files to be archived.
*/
HandlePgArchInterrupts();
ProcessPgArchInterrupts();
/* Reset variables that might be set by the callback */
arch_module_check_errdetail_string = NULL;
@@ -856,7 +856,7 @@ pgarch_die(int code, Datum arg)
* shutdown request is different between those loops.
*/
static void
HandlePgArchInterrupts(void)
ProcessPgArchInterrupts(void)
{
if (ProcSignalBarrierPending)
ProcessProcSignalBarrier();

View File

@@ -38,7 +38,7 @@
#ifndef USE_POSTMASTER_DEATH_SIGNAL
/*
* On systems that need to make a system call to find out if the postmaster has
* gone away, we'll do so only every Nth call to HandleStartupProcInterrupts().
* gone away, we'll do so only every Nth call to ProcessStartupProcInterrupts().
* This only affects how long it takes us to detect the condition while we're
* busy replaying WAL. Latch waits and similar which should react immediately
* through the usual techniques.
@@ -149,9 +149,9 @@ StartupRereadConfig(void)
StartupRequestWalReceiverRestart();
}
/* Handle various signals that might be sent to the startup process */
/* Process various signals that might be sent to the startup process */
void
HandleStartupProcInterrupts(void)
ProcessStartupProcInterrupts(void)
{
#ifdef POSTMASTER_POLL_RATE_LIMIT
static uint32 postmaster_poll_count = 0;

View File

@@ -145,7 +145,7 @@ int wal_summary_keep_time = 10 * HOURS_PER_DAY * MINS_PER_HOUR;
static void WalSummarizerShutdown(int code, Datum arg);
static XLogRecPtr GetLatestLSN(TimeLineID *tli);
static void HandleWalSummarizerInterrupts(void);
static void ProcessWalSummarizerInterrupts(void);
static XLogRecPtr SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn,
bool exact, XLogRecPtr switch_lsn,
XLogRecPtr maximum_lsn);
@@ -356,7 +356,7 @@ WalSummarizerMain(const void *startup_data, size_t startup_data_len)
MemoryContextReset(context);
/* Process any signals received recently. */
HandleWalSummarizerInterrupts();
ProcessWalSummarizerInterrupts();
/* If it's time to remove any old WAL summaries, do that now. */
MaybeRemoveOldWalSummaries();
@@ -856,7 +856,7 @@ GetLatestLSN(TimeLineID *tli)
* Interrupt handler for main loop of WAL summarizer process.
*/
static void
HandleWalSummarizerInterrupts(void)
ProcessWalSummarizerInterrupts(void)
{
if (ProcSignalBarrierPending)
ProcessProcSignalBarrier();
@@ -1016,7 +1016,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
XLogRecord *record;
uint8 rmid;
HandleWalSummarizerInterrupts();
ProcessWalSummarizerInterrupts();
/* We shouldn't go backward. */
Assert(summary_start_lsn <= xlogreader->EndRecPtr);
@@ -1503,7 +1503,7 @@ summarizer_read_local_xlog_page(XLogReaderState *state,
WALReadError errinfo;
SummarizerReadLocalXLogPrivate *private_data;
HandleWalSummarizerInterrupts();
ProcessWalSummarizerInterrupts();
private_data = (SummarizerReadLocalXLogPrivate *)
state->private_data;
@@ -1541,7 +1541,7 @@ summarizer_read_local_xlog_page(XLogReaderState *state,
* current timeline, so more data might show up. Delay here
* so we don't tight-loop.
*/
HandleWalSummarizerInterrupts();
ProcessWalSummarizerInterrupts();
summarizer_wait_for_wal();
/* Recheck end-of-WAL. */
@@ -1692,7 +1692,7 @@ MaybeRemoveOldWalSummaries(void)
XLogRecPtr oldest_lsn = InvalidXLogRecPtr;
TimeLineID selected_tli;
HandleWalSummarizerInterrupts();
ProcessWalSummarizerInterrupts();
/*
* Pick a timeline for which some summary files still exist on disk,
@@ -1711,7 +1711,7 @@ MaybeRemoveOldWalSummaries(void)
{
WalSummaryFile *ws = lfirst(lc);
HandleWalSummarizerInterrupts();
ProcessWalSummarizerInterrupts();
/* If it's not on this timeline, it's not time to consider it. */
if (selected_tli != ws->tli)

View File

@@ -239,7 +239,7 @@ WalWriterMain(const void *startup_data, size_t startup_data_len)
ResetLatch(MyLatch);
/* Process any signals received recently */
HandleMainLoopInterrupts();
ProcessMainLoopInterrupts();
/*
* Do what we're here for; then, if XLogBackgroundFlush() found useful