Date: Mon, 26 Jul 2021 15:54:07 -0400
... or to create some "process singleton" already emitting these
converted signals.
On 7/26/21 3:51 PM, Phil Bouchard via Std-Proposals wrote:
>
> One thing that could be done though is to provide a static conversion
> function called explicitly that will convert these POSIX signals into
> the new safer signal types. Just an idea...
>
> On 7/26/21 3:31 PM, Thiago Macieira wrote:
>> On Monday, 26 July 2021 12:27:16 PDT Phil Bouchard wrote:
>>> What is messy with them is if a process receives a signal and the main
>>> thread masks it then it will be forwarded to the first random thread not
>>> masking it.
>>>
>>> Perhaps there is a solution to wrap them up or perhaps there is none; I
>>> don't know yet.
>> That is an issue that makes them messy, not the only one. You can't control
>> the signal mask properly in a multithreaded application with lots of libraries
>> because you can't be sure that some library didn't start an aux thread and
>> unmasked the signal you want to catch.
>>
>> Especially if that signal is SIGCHLD, which must be cooperatively handled.
>>
>> THIS is what makes signalfd Dead On Arrival. It's unusable in a moderately
>> complex application.
>>
> --
>
> *Phil Bouchard*
> Founder & CTO
> C.: (819) 328-4743
>
> Fornux Logo <http://www.fornux.com>
>
converted signals.
On 7/26/21 3:51 PM, Phil Bouchard via Std-Proposals wrote:
>
> One thing that could be done though is to provide a static conversion
> function called explicitly that will convert these POSIX signals into
> the new safer signal types. Just an idea...
>
> On 7/26/21 3:31 PM, Thiago Macieira wrote:
>> On Monday, 26 July 2021 12:27:16 PDT Phil Bouchard wrote:
>>> What is messy with them is if a process receives a signal and the main
>>> thread masks it then it will be forwarded to the first random thread not
>>> masking it.
>>>
>>> Perhaps there is a solution to wrap them up or perhaps there is none; I
>>> don't know yet.
>> That is an issue that makes them messy, not the only one. You can't control
>> the signal mask properly in a multithreaded application with lots of libraries
>> because you can't be sure that some library didn't start an aux thread and
>> unmasked the signal you want to catch.
>>
>> Especially if that signal is SIGCHLD, which must be cooperatively handled.
>>
>> THIS is what makes signalfd Dead On Arrival. It's unusable in a moderately
>> complex application.
>>
> --
>
> *Phil Bouchard*
> Founder & CTO
> C.: (819) 328-4743
>
> Fornux Logo <http://www.fornux.com>
>
-- *Phil Bouchard* Founder & CTO C.: (819) 328-4743 Fornux Logo <http://www.fornux.com>
Received on 2021-07-26 14:54:10