The comment claimed that it is "called from postmaster", but it is
actually called in the child process, pretty early in the process
initialization. I guess you could interpret "called from postmaster"
to mean that, but it seems wrong to me. Rename the function to be
consistent with other functions with similar role.
Reviewed-by: Thomas Munro
Discussion: https://www.postgresql.org/message-id/
4f95c1fc-ad3c-7974-3a8c-
6faa3931804c@iki.fi
}
/*
- * Start a new background worker
- *
- * This is the main entry point for background worker, to be called from
- * postmaster.
+ * Main entry point for background worker processes.
*/
void
-StartBackgroundWorker(void)
+BackgroundWorkerMain(void)
{
sigjmp_buf local_sigjmp_buf;
BackgroundWorker *worker = MyBgworkerEntry;
shmem_slot = atoi(argv[1] + 15);
MyBgworkerEntry = BackgroundWorkerEntry(shmem_slot);
- StartBackgroundWorker();
+ BackgroundWorkerMain();
}
if (strcmp(argv[1], "--forklog") == 0)
{
MemoryContextDelete(PostmasterContext);
PostmasterContext = NULL;
- StartBackgroundWorker();
+ BackgroundWorkerMain();
exit(1); /* should not get here */
break;
extern void ForgetUnstartedBackgroundWorkers(void);
extern void ResetBackgroundWorkerCrashTimes(void);
-/* Function to start a background worker, called from postmaster.c */
-extern void StartBackgroundWorker(void) pg_attribute_noreturn();
+/* Entry point for background worker processes */
+extern void BackgroundWorkerMain(void) pg_attribute_noreturn();
#ifdef EXEC_BACKEND
extern BackgroundWorker *BackgroundWorkerEntry(int slotno);