diff options
Diffstat (limited to 'src/backend/postmaster/autovacuum.c')
-rw-r--r-- | src/backend/postmaster/autovacuum.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index dade5cc3c05..7c946804a5f 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -97,6 +97,7 @@ #include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h" +#include "utils/timeout.h" #include "utils/timestamp.h" #include "utils/tqual.h" @@ -432,7 +433,7 @@ AutoVacLauncherMain(int argc, char *argv[]) pqsignal(SIGTERM, avl_sigterm_handler); pqsignal(SIGQUIT, quickdie); - pqsignal(SIGALRM, handle_sig_alarm); + InitializeTimeouts(); /* establishes SIGALRM handler */ pqsignal(SIGPIPE, SIG_IGN); pqsignal(SIGUSR1, procsignal_sigusr1_handler); @@ -482,9 +483,9 @@ AutoVacLauncherMain(int argc, char *argv[]) /* Prevents interrupts while cleaning up */ HOLD_INTERRUPTS(); - /* Forget any pending QueryCancel request */ + /* Forget any pending QueryCancel or timeout request */ QueryCancelPending = false; - disable_sig_alarm(true); + disable_all_timeouts(false); QueryCancelPending = false; /* again in case timeout occurred */ /* Report the error to the server log */ @@ -1492,7 +1493,7 @@ AutoVacWorkerMain(int argc, char *argv[]) pqsignal(SIGINT, StatementCancelHandler); pqsignal(SIGTERM, die); pqsignal(SIGQUIT, quickdie); - pqsignal(SIGALRM, handle_sig_alarm); + InitializeTimeouts(); /* establishes SIGALRM handler */ pqsignal(SIGPIPE, SIG_IGN); pqsignal(SIGUSR1, procsignal_sigusr1_handler); |