The nearby thread about searching for uses of volatile reminded me: we can now drop a bunch of these in postmaster.c. The patch I originally wrote to do that as part of this series somehow morphed into an experimental patch to nuke all global variables[1], but of course we should at least drop the now redundant use of volatile and sigatomic_t. See attached.
[1] https://www.postgresql.org/message-id/flat/CA%2BhUKGKH_RPAo%3DNgPfHKj--565aL1qiVpUGdWt1_pmJehY%2Bdmw%40mail.gmail.com
From 74f8b703f1a23b47bf613813014bc432c62c75d8 Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.mu...@gmail.com> Date: Sat, 28 Jan 2023 14:08:23 +1300 Subject: [PATCH] Remove unneeded volatile qualitifiers from postmaster.c. Several flags were marked volatile and in some cases use sigatomic_t because they were accessed from signal handlers. After commit 7389aad6, we can just use unqualified bool. --- src/backend/postmaster/postmaster.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 62fba5fcee..f92dbc2270 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -359,17 +359,17 @@ bool ClientAuthInProgress = false; /* T during new-client bool redirection_done = false; /* stderr redirected for syslogger? */ /* received START_AUTOVAC_LAUNCHER signal */ -static volatile sig_atomic_t start_autovac_launcher = false; +static bool start_autovac_launcher = false; /* the launcher needs to be signaled to communicate some condition */ -static volatile bool avlauncher_needs_signal = false; +static bool avlauncher_needs_signal = false; /* received START_WALRECEIVER signal */ -static volatile sig_atomic_t WalReceiverRequested = false; +static bool WalReceiverRequested = false; /* set when there's a worker that needs to be started up */ -static volatile bool StartWorkerNeeded = true; -static volatile bool HaveCrashedWorker = false; +static bool StartWorkerNeeded = true; +static bool HaveCrashedWorker = false; /* set when signals arrive */ static volatile sig_atomic_t pending_pm_pmsignal; -- 2.38.1