mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Use procsignal_sigusr1_handler for auxiliary processes.
AuxiliaryProcessMain does ProcSignalInit, so one might expect that auxiliary processes would need to respond to SendProcSignal, but none of the auxiliary processes do that. Change them to use procsignal_sigusr1_handler instead of their own private handlers so that they do. Besides seeming more correct, this is also less code. It shouldn't make any functional difference right now because, as far as we know, there are no current cases where SendProcSignal targets an auxiliary process, but there are plans to change that in the future. Andres Freund Discussion: http://postgr.es/m/20181030051643.elbxjww5jjgnjaxg@alap3.anarazel.de
This commit is contained in:
@ -54,6 +54,7 @@
|
||||
#include "storage/ipc.h"
|
||||
#include "storage/lwlock.h"
|
||||
#include "storage/proc.h"
|
||||
#include "storage/procsignal.h"
|
||||
#include "storage/shmem.h"
|
||||
#include "storage/smgr.h"
|
||||
#include "storage/spin.h"
|
||||
@ -179,7 +180,6 @@ static void UpdateSharedMemoryConfig(void);
|
||||
static void chkpt_quickdie(SIGNAL_ARGS);
|
||||
static void ChkptSigHupHandler(SIGNAL_ARGS);
|
||||
static void ReqCheckpointHandler(SIGNAL_ARGS);
|
||||
static void chkpt_sigusr1_handler(SIGNAL_ARGS);
|
||||
static void ReqShutdownHandler(SIGNAL_ARGS);
|
||||
|
||||
|
||||
@ -211,7 +211,7 @@ CheckpointerMain(void)
|
||||
pqsignal(SIGQUIT, chkpt_quickdie); /* hard crash time */
|
||||
pqsignal(SIGALRM, SIG_IGN);
|
||||
pqsignal(SIGPIPE, SIG_IGN);
|
||||
pqsignal(SIGUSR1, chkpt_sigusr1_handler);
|
||||
pqsignal(SIGUSR1, procsignal_sigusr1_handler);
|
||||
pqsignal(SIGUSR2, ReqShutdownHandler); /* request shutdown */
|
||||
|
||||
/*
|
||||
@ -853,17 +853,6 @@ ReqCheckpointHandler(SIGNAL_ARGS)
|
||||
errno = save_errno;
|
||||
}
|
||||
|
||||
/* SIGUSR1: used for latch wakeups */
|
||||
static void
|
||||
chkpt_sigusr1_handler(SIGNAL_ARGS)
|
||||
{
|
||||
int save_errno = errno;
|
||||
|
||||
latch_sigusr1_handler();
|
||||
|
||||
errno = save_errno;
|
||||
}
|
||||
|
||||
/* SIGUSR2: set flag to run a shutdown checkpoint and exit */
|
||||
static void
|
||||
ReqShutdownHandler(SIGNAL_ARGS)
|
||||
|
Reference in New Issue
Block a user