Fix mishandling of background worker PGPROCs in EXEC_BACKEND builds.

Robert Haas <rhaas@postgresql.org>

Commit: e280c630a87e1b8325770c6073097d109d79a00f
Author: Robert Haas <rhaas@postgresql.org>
Date: 2014-07-30T15:34:06Z
Releases: 9.5.0
Fix mishandling of background worker PGPROCs in EXEC_BACKEND builds.

InitProcess() relies on IsBackgroundWorker to decide whether the PGPROC
for a new backend should be taken from ProcGlobal's freeProcs or from
bgworkerFreeProcs.  In EXEC_BACKEND builds, InitProcess() is called
sooner than in non-EXEC_BACKEND builds, and IsBackgroundWorker wasn't
getting initialized soon enough.

Report by Noah Misch.  Diagnosis and fix by me.

Files

PathChange+/−
src/backend/postmaster/postmaster.c modified +3 −0