Re: [w32] test_shm_mq test suite permanently burns connections slots

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Noah Misch <noah(at)leadboat(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [w32] test_shm_mq test suite permanently burns connections slots
Date: 2014-07-29 01:38:41
Message-ID: 20140729013841.GQ5475@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-07-29 01:39:14 Re: SKIP LOCKED DATA (work in progress)
Previous Message Alvaro Herrera 2014-07-29 01:35:12 Re: SKIP LOCKED DATA (work in progress)