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)
/* 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;
pmState == PM_HOT_STANDBY || pmState == PM_STARTUP)
{
if (CheckpointerPID == 0)
- CheckpointerPID = StartCheckpointer();
+ CheckpointerPID = StartChildProcess(CheckpointerProcess);
if (BgWriterPID == 0)
- BgWriterPID = StartBackgroundWriter();
+ BgWriterPID = StartChildProcess(BgWriterProcess);
}
/*
* 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
/* 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)
* 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();
/*
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();
HandleChildCrash(pid, exitstatus,
_("archiver process"));
if (PgArchStartupAllowed())
- PgArchPID = StartArchiver();
+ PgArchPID = StartChildProcess(ArchiverProcess);
continue;
}
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)
{
/*
* 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)
{
/* re-create shared memory and semaphores */
CreateSharedMemoryAndSemaphores();
- StartupPID = StartupDataBase();
+ StartupPID = StartChildProcess(StartupProcess);
Assert(StartupPID != 0);
StartupStatus = STARTUP_RUNNING;
pmState = PM_STARTUP;
*/
Assert(PgArchPID == 0);
if (XLogArchivingAlways())
- PgArchPID = StartArchiver();
+ PgArchPID = StartChildProcess(ArchiverProcess);
/*
* If we aren't planning to enter hot standby mode later, treat
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 */
if (summarize_wal && WalSummarizerPID == 0 &&
(pmState == PM_RUN || pmState == PM_HOT_STANDBY) &&
Shutdown <= SmartShutdown)
- WalSummarizerPID = StartWalSummarizer();
+ WalSummarizerPID = StartChildProcess(WalSummarizerProcess);
}