Fix mishandling of background worker PGPROCs in EXEC_BACKEND builds.

Robert Haas <rhaas@postgresql.org>

Commit: aeebacff114634ffa07b5299ee6c41b219717bc3
Author: Robert Haas <rhaas@postgresql.org>
Date: 2014-07-30T15:58:03Z
Releases: 9.4.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