On Tue, Jan 20, 2015 at 9:41 AM, Amit Kapila <amit.kapil...@gmail.com> wrote: > It seems [WaitForBackgroundWorkerShutdown] has possibility to wait forever. > Assume one of the worker is not able to start (not able to attach > to shared memory or some other reason), then status returned by > GetBackgroundWorkerPid() will be BGWH_NOT_YET_STARTED > and after that it can wait forever in WaitLatch.
I don't think that's right. The status only remains BGWH_NOT_YET_STARTED until the postmaster forks the child process. At that point it immediately changes to BGWH_STARTED. If it starts up and then dies early on, for example because it can't attach to shared memory or somesuch, the status will change to BGWH_STOPPED. -- 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