Fix mishandling of background worker PGPROCs in EXEC_BACKEND builds.

Robert Haas <rhaas@postgresql.org>

Commit: 05c0059b3573a0423370d98789b5f292fb296041
Author: Robert Haas <rhaas@postgresql.org>
Date: 2014-07-30T16:10:20Z
Releases: 9.3.6
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