Remove Start* macros in postmaster.c.
authorNathan Bossart <[email protected]>
Wed, 7 Feb 2024 18:50:48 +0000 (12:50 -0600)
committerNathan Bossart <[email protected]>
Wed, 7 Feb 2024 18:50:48 +0000 (12:50 -0600)
These macros are just shorthands for calling StartChildProcess()
with the appropriate process type, and they arguably make the code
harder to understand.

Suggested-by: Andres Freund
Author: Reid Thompson
Reviewed-by: Bharath Rupireddy
Discussion: https://postgr.es/m/e88934c02a5c66f5e8caab2025f85da6b9026d0b.camel%40crunchydata.com

src/backend/postmaster/postmaster.c

index feb471dd1df39b65f7a5414a02dec33f2b27bc70..a066800a1cfe52cb8263ecbafb0f6969e1287e4f 100644 (file)
@@ -561,14 +561,6 @@ static void ShmemBackendArrayAdd(Backend *bn);
 static void ShmemBackendArrayRemove(Backend *bn);
 #endif                         /* EXEC_BACKEND */
 
-#define StartupDataBase()      StartChildProcess(StartupProcess)
-#define StartArchiver()            StartChildProcess(ArchiverProcess)
-#define StartBackgroundWriter() StartChildProcess(BgWriterProcess)
-#define StartCheckpointer()        StartChildProcess(CheckpointerProcess)
-#define StartWalWriter()       StartChildProcess(WalWriterProcess)
-#define StartWalReceiver()     StartChildProcess(WalReceiverProcess)
-#define StartWalSummarizer()   StartChildProcess(WalSummarizerProcess)
-
 /* Macros to check exit status of a child process */
 #define EXIT_STATUS_0(st)  ((st) == 0)
 #define EXIT_STATUS_1(st)  (WIFEXITED(st) && WEXITSTATUS(st) == 1)
@@ -1457,14 +1449,14 @@ PostmasterMain(int argc, char *argv[])
 
    /* Start bgwriter and checkpointer so they can help with recovery */
    if (CheckpointerPID == 0)
-       CheckpointerPID = StartCheckpointer();
+       CheckpointerPID = StartChildProcess(CheckpointerProcess);
    if (BgWriterPID == 0)
-       BgWriterPID = StartBackgroundWriter();
+       BgWriterPID = StartChildProcess(BgWriterProcess);
 
    /*
     * We're ready to rock and roll...
     */
-   StartupPID = StartupDataBase();
+   StartupPID = StartChildProcess(StartupProcess);
    Assert(StartupPID != 0);
    StartupStatus = STARTUP_RUNNING;
    pmState = PM_STARTUP;
@@ -1798,9 +1790,9 @@ ServerLoop(void)
            pmState == PM_HOT_STANDBY || pmState == PM_STARTUP)
        {
            if (CheckpointerPID == 0)
-               CheckpointerPID = StartCheckpointer();
+               CheckpointerPID = StartChildProcess(CheckpointerProcess);
            if (BgWriterPID == 0)
-               BgWriterPID = StartBackgroundWriter();
+               BgWriterPID = StartChildProcess(BgWriterProcess);
        }
 
        /*
@@ -1809,7 +1801,7 @@ ServerLoop(void)
         * be writing any new WAL).
         */
        if (WalWriterPID == 0 && pmState == PM_RUN)
-           WalWriterPID = StartWalWriter();
+           WalWriterPID = StartChildProcess(WalWriterProcess);
 
        /*
         * If we have lost the autovacuum launcher, try to start a new one. We
@@ -1828,7 +1820,7 @@ ServerLoop(void)
 
        /* If we have lost the archiver, try to start a new one. */
        if (PgArchPID == 0 && PgArchStartupAllowed())
-           PgArchPID = StartArchiver();
+           PgArchPID = StartChildProcess(ArchiverProcess);
 
        /* If we need to signal the autovacuum launcher, do so now */
        if (avlauncher_needs_signal)
@@ -3019,11 +3011,11 @@ process_pm_child_exit(void)
             * if this fails, we'll just try again later.
             */
            if (CheckpointerPID == 0)
-               CheckpointerPID = StartCheckpointer();
+               CheckpointerPID = StartChildProcess(CheckpointerProcess);
            if (BgWriterPID == 0)
-               BgWriterPID = StartBackgroundWriter();
+               BgWriterPID = StartChildProcess(BgWriterProcess);
            if (WalWriterPID == 0)
-               WalWriterPID = StartWalWriter();
+               WalWriterPID = StartChildProcess(WalWriterProcess);
            MaybeStartWalSummarizer();
 
            /*
@@ -3033,7 +3025,7 @@ process_pm_child_exit(void)
            if (!IsBinaryUpgrade && AutoVacuumingActive() && AutoVacPID == 0)
                AutoVacPID = StartAutoVacLauncher();
            if (PgArchStartupAllowed() && PgArchPID == 0)
-               PgArchPID = StartArchiver();
+               PgArchPID = StartChildProcess(ArchiverProcess);
 
            /* workers may be scheduled to start now */
            maybe_start_bgworkers();
@@ -3188,7 +3180,7 @@ process_pm_child_exit(void)
                HandleChildCrash(pid, exitstatus,
                                 _("archiver process"));
            if (PgArchStartupAllowed())
-               PgArchPID = StartArchiver();
+               PgArchPID = StartChildProcess(ArchiverProcess);
            continue;
        }
 
@@ -3767,7 +3759,7 @@ PostmasterStateMachine(void)
                Assert(Shutdown > NoShutdown);
                /* Start the checkpointer if not running */
                if (CheckpointerPID == 0)
-                   CheckpointerPID = StartCheckpointer();
+                   CheckpointerPID = StartChildProcess(CheckpointerProcess);
                /* And tell it to shut down */
                if (CheckpointerPID != 0)
                {
@@ -3899,7 +3891,7 @@ PostmasterStateMachine(void)
 
    /*
     * If we need to recover from a crash, wait for all non-syslogger children
-    * to exit, then reset shmem and StartupDataBase.
+    * to exit, then reset shmem and start the startup process.
     */
    if (FatalError && pmState == PM_NO_CHILDREN)
    {
@@ -3921,7 +3913,7 @@ PostmasterStateMachine(void)
        /* re-create shared memory and semaphores */
        CreateSharedMemoryAndSemaphores();
 
-       StartupPID = StartupDataBase();
+       StartupPID = StartChildProcess(StartupProcess);
        Assert(StartupPID != 0);
        StartupStatus = STARTUP_RUNNING;
        pmState = PM_STARTUP;
@@ -5066,7 +5058,7 @@ process_pm_pmsignal(void)
         */
        Assert(PgArchPID == 0);
        if (XLogArchivingAlways())
-           PgArchPID = StartArchiver();
+           PgArchPID = StartChildProcess(ArchiverProcess);
 
        /*
         * If we aren't planning to enter hot standby mode later, treat
@@ -5501,7 +5493,7 @@ MaybeStartWalReceiver(void)
         pmState == PM_HOT_STANDBY) &&
        Shutdown <= SmartShutdown)
    {
-       WalReceiverPID = StartWalReceiver();
+       WalReceiverPID = StartChildProcess(WalReceiverProcess);
        if (WalReceiverPID != 0)
            WalReceiverRequested = false;
        /* else leave the flag set, so we'll try again later */
@@ -5518,7 +5510,7 @@ MaybeStartWalSummarizer(void)
    if (summarize_wal && WalSummarizerPID == 0 &&
        (pmState == PM_RUN || pmState == PM_HOT_STANDBY) &&
        Shutdown <= SmartShutdown)
-       WalSummarizerPID = StartWalSummarizer();
+       WalSummarizerPID = StartChildProcess(WalSummarizerProcess);
 }