On Mon, Jul 28, 2014 at 9:38 PM, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote: > Robert Haas wrote: >> OK, I think I see the problem. In EXEC_BACKEND mode, >> SubPostmasterMain() calls InitProcess() before IsBackgroundWorker has >> been set. InitProcess() therefore pulls the PGPROC for the worker >> from freeProcs rather than bgworkerFreeProcs. By exit time, >> IsBackgroundWorker has been set, so the PGPROC gets put back on the >> bgworkerFreeProcs list. Eventually there are no regular PGPROCs left; >> they've all been moved to the bgworkerFreeProcs list. > > Doh. I'm surprised -- I tested a worker that crashed over and over to > ensure PGPROCs were reused sanely. I guess I forgot to run it under > EXEC_BACKEND. > > Are you fixing it?
Working on it now. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers