2015-08-29 18:25 GMT+02:00 Shulgin, Oleksandr <oleksandr.shul...@zalando.de>
:

> On Sat, Aug 29, 2015 at 5:44 PM, Andres Freund <and...@anarazel.de> wrote:
>
>> On 2015-08-29 17:33:22 +0200, Shulgin, Oleksandr wrote:
>> > Probably using SIGUSR2 would be more appropriate, but I'm not sure if
>> there
>> > are other extensions out there that might be already using it for some
>> > other reason (well, I do not know that for SIGUSR1 either).  Looking at
>> the
>> > current state of affairs in procsignal_sigusr1_handler() makes me
>> believe
>> > it should be pretty safe to catch the signal like I do.  Or is that not
>> the
>> > case?
>>
>> You can catch signals, but you're not allowed to do a lot from
>> them. Anything allocating memory, acquiring locks, etc. is out - these
>> functions aren't reentrant.  If you can guarantee that you're not
>> interrupting any relevant code you can bend those rules, but that's
>> obviously not the case here.
>>
>> Check out the list of async-signal-safe functions at
>> http://man7.org/linux/man-pages/man7/signal.7.html
>
>
> Good point.  There's still hope to set a flag and process it later on.
> Will have to check if it's possible to stay in the scope of a loaded module
> though.
>

I had a workable prototype - and It was implemented very similar as
handling CANCEL

Pavel

Reply via email to