Thread (13 messages) 13 messages, 6 authors, 2018-12-02

Re: [PATCH v2] signal: add procfd_signal() syscall

From: Christian Brauner <christian@brauner.io>
Date: 2018-12-01 12:36:49
Also in: linux-fsdevel, linux-man, lkml

Possibly related (same subject, not in this thread)

On November 30, 2018 10:40:49 AM GMT+13:00, Arnd Bergmann [off-list ref] wrote:
On Thu, Nov 29, 2018 at 10:35 PM Christian Brauner
[off-list ref] wrote:
quoted
On Thu, Nov 29, 2018 at 10:02:13PM +0100, Arnd Bergmann wrote:
quoted
On Thu, Nov 29, 2018 at 9:14 PM Andy Lutomirski
[off-list ref] wrote:
quoted
quoted
Is the current procfd_signal() proposal (under whichever name)
sufficient
quoted
quoted
to correctly implement both sys_rt_sigqueueinfo() and
sys_rt_tgsigqueueinfo()?
quoted
Yes, I see no reason why not. My idea is to extend it - after we have
a
quoted
basic version in - to also work with:
/proc/<pid>/task/<tid>
If I'm not mistaken this should be sufficient to get
rt_tgsigqueueinfo.
quoted
The thread will be uniquely identified by the tid descriptor and no
combination of /proc/<pid> and /proc/<pid>/task/<tid> is needed. Does
that sound reasonable?
Yes. So it would currently replace rt_gsigqueueinfo() but
not rt_tgsigqueueinfo(), and could be extended to do both
afterwards, without making the interface ugly in any form?
Yes. :)
I suppose we can always add more flags if needed, and you
already ensure that flags is zero for the moment.
Yep.
quoted
quoted
Can we implement sys_rt_sigtimedwait() based on signalfd()?

If yes, that would leave waitid(), which already needs a
replacement
quoted
quoted
for y2038, and that should then also return a signalfd_siginfo.
My current preference for waitid() would be to do a version that
closely resembles the current interface, but takes a
signalfd_siginfo
quoted
quoted
and a __kernel_timespec based rusage replacement (possibly
two of them to let us map wait6), but does not operate on procfd or
take a signal mask. That would require yet another syscall, but I
don't think I can do that before we want to have the set of y2038
safe syscalls.
All sounds reasonable to me but that's not a blocker for the current
syscall though, is it?
I'd like to at least understand about sys_rt_sigtimedwait() before
we go on, so we all know what's coming, and document the
plans in the changelog.

waitid() probably remains on my plate anyway, and I hope understand
where we're at with it.

    Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help