Re: socket calls in signal handler (WAS: APC + socket restrictions un der Win32?) - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: socket calls in signal handler (WAS: APC + socket restrictions un der Win32?)
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE171602@algol.sollentuna.se
Whole thread Raw
List pgsql-hackers
>> >The postmaster's use of nominally unsafe stuff in signal
>> >handlers is not
>> >and never has been a problem, because there is only one place in the
>> >main loop where signals are unblocked, thus no possibility for
>> >something
>> >to interrupt something else.  I don't like the idea of
>redesigning that
>> >code just because someone misunderstands it.
>>
>>
>> You're saying the above is not valid because we block signals?
>
>It's all about reentrance of functions where it's not safe to do
>so.
>
>Either you avoid it in the signal handler or you avoid it by only
>allowing it during a "safe" period.

Ok. Let me try to get this straight :-)

Since we *only* permit signals during the select() call, we are safe as
long as we don't call select() inside the signal handlers? (since
select() is not on the list of safe functions). Which we don't.

That makes sense :-)

If that is indeed the case, I withdraw all my comments and misdirected
ideas, and say we go for a win32 specific workaround :-)


//Magnus


pgsql-hackers by date:

Previous
From: Kurt Roeckx
Date:
Subject: Re: socket calls in signal handler (WAS: APC + socket restrictions un der Win32?)
Next
From: Bruce Momjian
Date:
Subject: Catching up