diff options
author | davem <davem> | 2001-12-17 08:00:58 +0000 |
---|---|---|
committer | davem <davem> | 2001-12-17 08:00:58 +0000 |
commit | d666b218ee883108041703189c87969efe5e977d (patch) | |
tree | eeee96ba5549599ce46eae9e28ba33b7c5cd00fb | |
parent | c7ed952798088e7e6f8dfc6a8f741560332961c0 (diff) | |
download | netdev-vger-cvs-d666b218ee883108041703189c87969efe5e977d.tar.gz |
Revert kill(-1) behavioral change in 2.5.1
-rw-r--r-- | kernel/signal.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index b6958912e..44acecd85 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -649,10 +649,8 @@ kill_proc_info(int sig, struct siginfo *info, pid_t pid) /* * kill_something_info() interprets pid in interesting ways just like kill(2). * - * POSIX (2001) specifies "If pid is -1, sig shall be sent to all processes - * (excluding an unspecified set of system processes) for which the process - * has permission to send that signal." - * So, probably the process should also signal itself. + * POSIX specifies that kill(-1,sig) is unspecified, but what we have + * is probably wrong. Should make it like BSD or SYSV. */ static int kill_something_info(int sig, struct siginfo *info, int pid) @@ -665,7 +663,7 @@ static int kill_something_info(int sig, struct siginfo *info, int pid) read_lock(&tasklist_lock); for_each_task(p) { - if (p->pid > 1) { + if (p->pid > 1 && p != current) { int err = send_sig_info(sig, info, p); ++count; if (err != -EPERM) |