[systemd-devel] [PATCH] login: share VT-signal handler between sessions

David Herrmann dh.herrmann at gmail.com
Mon Aug 11 10:00:40 PDT 2014


Hi

On Mon, Aug 11, 2014 at 6:54 PM, Lennart Poettering
<lennart at poettering.net> wrote:
> On Mon, 11.08.14 18:46, Lennart Poettering (lennart at poettering.net) wrote:
>
>> With this code you block, but do not ignore SGRTMIN+1. Now, rtsigs
>> actually are implemented in a queue, multiple instances of the same
>> signal might be queued up. If you simply block dispatching, then the
>> queue will eventually overrun blocking all other signals... Hence, I
>> think there needs to be a dummy signal handler assigned to SIGRTMIN+1
>> here, so that the signals are dequeued...
>>
>> (Thinking about it, it might make sense to export a dummy signal handler
>> from sd-event which people can just use here...)
>
> Actually just invoking ignore_signals() from shared/util.c should
> suffice for this case here, too...

Nice catch. I totally forgot about that RT-signal behavior. I fixed
this by using ignore_signals(). I will give this a try and then push
out in case nothing shows up.

Olivier: If this does not work for you, please let me know and we can
debug this further.

Thanks!
David


More information about the systemd-devel mailing list