diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-08-02 18:39:14 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-08-02 18:39:14 -0400 |
commit | c6ea616ff702862fc6923323a49dd24a0e0ae2d9 (patch) | |
tree | fbc9bb98bd5fd2ceb3845cf36651a302965a368c /src | |
parent | a253a88594f6805168261ea1986df1cd6b9b25e0 (diff) | |
download | postgresql-c6ea616ff702862fc6923323a49dd24a0e0ae2d9.tar.gz postgresql-c6ea616ff702862fc6923323a49dd24a0e0ae2d9.zip |
Remove duplicate InitPostmasterChild() call while starting a bgworker.
This is apparently harmless on Windows, but on Unix it results in an
assertion failure. We'd not noticed because this code doesn't get
used on Unix unless you build with -DEXEC_BACKEND. Bug was evidently
introduced by sloppy refactoring in commit 31c453165.
Thomas Munro
Discussion: <CAEepm=1VOnbVx4wsgQFvj94hu9jVt2nVabCr7QiooUSvPJXkgQ@mail.gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/postmaster/postmaster.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 19d11e0e0da..1813f8ca1d1 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -4806,8 +4806,6 @@ SubPostmasterMain(int argc, char *argv[]) /* do this as early as possible; in particular, before InitProcess() */ IsBackgroundWorker = true; - InitPostmasterChild(); - /* Close the postmaster's sockets */ ClosePostmasterPorts(false); @@ -4820,8 +4818,10 @@ SubPostmasterMain(int argc, char *argv[]) /* Attach process to shared data structures */ CreateSharedMemoryAndSemaphores(false, 0); + /* Fetch MyBgworkerEntry from shared memory */ shmem_slot = atoi(argv[1] + 15); MyBgworkerEntry = BackgroundWorkerEntry(shmem_slot); + StartBackgroundWorker(); } if (strcmp(argv[1], "--forkarch") == 0) |