On Fri, Jan 24, 2014 at 10:14:24AM -0500, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > Would you verify that the attached patch fixes your builds?
>
> The aspect of this patch that leaves ImmediateInterruptOK set over a
> much larger code range in PGSemaphoreLock --- and in particular doesn't
> bother to reset it before entering ereport() --- is a horrid idea.
> Keep in mind that setting ImmediateInterruptOK means you can lose control
> *anywhere*, and so have no ability to safely manipulate anything except
> local variables.
What's wrong with ereport(FATAL) under ImmediateInterruptOK?
ClientAuthentication() does it, and errfinish() clears the flag.
--
Noah Misch
EnterpriseDB http://www.enterprisedb.com