signalfd simplification
authorDavide Libenzi <davidel@xmailserver.org>
Thu, 20 Sep 2007 19:40:16 +0000 (12:40 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 20 Sep 2007 20:19:59 +0000 (13:19 -0700)
commitb8fceee17a310f189188599a8fa5e9beaff57eb0
tree21308319be2579059a4d4d7db680a73334659f82
parent9db619e66503494e41159de3c76fafabe80d016b
signalfd simplification

This simplifies signalfd code, by avoiding it to remain attached to the
sighand during its lifetime.

In this way, the signalfd remain attached to the sighand only during
poll(2) (and select and epoll) and read(2).  This also allows to remove
all the custom "tsk == current" checks in kernel/signal.c, since
dequeue_signal() will only be called by "current".

I think this is also what Ben was suggesting time ago.

The external effect of this, is that a thread can extract only its own
private signals and the group ones.  I think this is an acceptable
behaviour, in that those are the signals the thread would be able to
fetch w/out signalfd.

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/exec.c
fs/signalfd.c
include/linux/init_task.h
include/linux/sched.h
include/linux/signalfd.h
kernel/exit.c
kernel/fork.c
kernel/signal.c