@ -138,7 +138,6 @@ static bool am_autovacuum_launcher = false;
static bool am_autovacuum_worker = false ;
/* Flags set by signal handlers */
static volatile sig_atomic_t got_SIGHUP = false ;
static volatile sig_atomic_t got_SIGUSR2 = false ;
static volatile sig_atomic_t got_SIGTERM = false ;
@ -344,7 +343,6 @@ static void perform_work_item(AutoVacuumWorkItem *workitem);
static void autovac_report_activity ( autovac_table * tab ) ;
static void autovac_report_workitem ( AutoVacuumWorkItem * workitem ,
const char * nspname , const char * relname ) ;
static void av_sighup_handler ( SIGNAL_ARGS ) ;
static void avl_sigusr2_handler ( SIGNAL_ARGS ) ;
static void avl_sigterm_handler ( SIGNAL_ARGS ) ;
static void autovac_refresh_stats ( void ) ;
@ -452,7 +450,7 @@ AutoVacLauncherMain(int argc, char *argv[])
* backend , so we use the same signal handling . See equivalent code in
* tcop / postgres . c .
*/
pqsignal ( SIGHUP , av_sighup_h andler) ;
pqsignal ( SIGHUP , PostgresSigHupH andler) ;
pqsignal ( SIGINT , StatementCancelHandler ) ;
pqsignal ( SIGTERM , avl_sigterm_handler ) ;
@ -805,9 +803,9 @@ HandleAutoVacLauncherInterrupts(void)
if ( got_SIGTERM )
AutoVacLauncherShutdown ( ) ;
if ( got_SIGHUP )
if ( ConfigReloadPending )
{
got_SIGHUP = false ;
ConfigReloadPending = false ;
ProcessConfigFile ( PGC_SIGHUP ) ;
/* shutdown requested in config file? */
@ -1405,18 +1403,6 @@ AutoVacWorkerFailed(void)
AutoVacuumShmem - > av_signal [ AutoVacForkFailed ] = true ;
}
/* SIGHUP: set flag to re-read config file at next convenient time */
static void
av_sighup_handler ( SIGNAL_ARGS )
{
int save_errno = errno ;
got_SIGHUP = true ;
SetLatch ( MyLatch ) ;
errno = save_errno ;
}
/* SIGUSR2: a worker is up and running, or just finished, or failed to fork */
static void
avl_sigusr2_handler ( SIGNAL_ARGS )
@ -1539,7 +1525,7 @@ AutoVacWorkerMain(int argc, char *argv[])
* backend , so we use the same signal handling . See equivalent code in
* tcop / postgres . c .
*/
pqsignal ( SIGHUP , av_sighup_h andler) ;
pqsignal ( SIGHUP , PostgresSigHupH andler) ;
/*
* SIGINT is used to signal canceling the current table ' s vacuum ; SIGTERM
@ -2332,9 +2318,9 @@ do_autovacuum(void)
/*
* Check for config changes before processing each collected table .
*/
if ( got_SIGHUP )
if ( ConfigReloadPending )
{
got_SIGHUP = false ;
ConfigReloadPending = false ;
ProcessConfigFile ( PGC_SIGHUP ) ;
/*
@ -2580,9 +2566,9 @@ deleted:
* Check for config changes before acquiring lock for further jobs .
*/
CHECK_FOR_INTERRUPTS ( ) ;
if ( got_SIGHUP )
if ( ConfigReloadPending )
{
got_SIGHUP = false ;
ConfigReloadPending = false ;
ProcessConfigFile ( PGC_SIGHUP ) ;
}