On Tue, Aug 2, 2016 at 10:28 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Andres Freund <andres@anarazel.de> writes:
>> On 2016-08-01 18:09:03 -0400, Robert Haas wrote:
>>> (Also vaguely on the list of things to clean up: can't we make it so
>>> that bgworkers aren't launched from inside a signal handler? Blech.)
>
>> Isn't pretty much everything on-demand below postmaster started from a
>> signal handler?
>
> I think it depends. As an example, maybe_start_bgworker is called
> from PostmasterMain, *and* from ServerLoop, *and* from reaper,
> *and* from sigusr1_handler. That's likely excessive, but it's what
> we've got at the moment.
I found this apparently unresolved bug report about glibc fork()
inside a signal handler deadlocking:
https://sourceware.org/bugzilla/show_bug.cgi?id=4737
I wonder if that could bite postmaster. It's interesting because
comments 16 and 19 and 22 suggest that it may not be fixed.
--
Thomas Munro
http://www.enterprisedb.com