[CRIU] [PATCH 2/3] signalfd: add ability to return siginfo in a raw format (v2)

Michael Kerrisk (man-pages) mtk.manpages at gmail.com
Sun Jan 20 15:33:41 EST 2013


Hi Oleg,

On Sun, Jan 20, 2013 at 8:55 PM, Oleg Nesterov <oleg at redhat.com> wrote:
> On 01/20, Andrew Vagin wrote:
>>
>> > SFD_RAW
>> > SFD_SHARED_QUEUE -- reads will be from process-wide shared signal queue
>> > SFD_PER_THREAD_QUEUE --reads will be from per-thread signal queue
>>
>> I suggested this variant in the initial series, but then we decided to
>> avoid adding new flags.
>
> Yes, because SFD_SHARED/PRIVATE will add even more complications into this
> code. And outside of signalfd.c too. And nobody except c/r will ever use
> these features I guess.

So, I must admit that I don't understand why adding SFD_SHARED and
SFD_PER_THREAD in signalfd() makes things more complicated than adding
the equivalents in pread(). But, I'll take your word for that, if
that's what you meant.

However, note that I did suggest that in the initial implementation
you might require that if SFD_SHARED_QUEUE or SFD_PER_THREAD_QUEUE is
specified in signalfd(), then SFD_RAW could be required as well.
Later, if someone wants to do the work, they could relax the
constraint, so as to allow signalfd() to be used to do per-queue
select even when reading siginfo (i.e., SFD_SHARED_QUEUE or
SFD_PER_THREAD_QUEUE specified but not SFD_RAW). Surely that is not
more complicated than the current implementation. And it allows for an
orthogonal expansion of the design that seems more natural and may one
day be useful.

Cheers,

Michael


More information about the CRIU mailing list