diff options
| author | Patrick Mochel <mochel@osdl.org> | 2003-08-13 19:36:17 -0700 |
|---|---|---|
| committer | Patrick Mochel <mochel@osdl.org> | 2003-08-13 19:36:17 -0700 |
| commit | 9bf76164abf0705fc03ffff552613f6da3b7af35 (patch) | |
| tree | 87333531c8e5265201e1710f6923caaf8d8a94ab /kernel | |
| parent | f2df1a5f499f8d559f66900b0e3b3fbf52f88d49 (diff) | |
| parent | 3b822c88f30d825810b4134bd6d5a156628c6c03 (diff) | |
Merge osdl.org:/home/mochel/src/kernel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/linux-2.5-power
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/signal.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index bab76d941a3d..cd83653ef5d2 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1011,9 +1011,11 @@ void zap_other_threads(struct task_struct *p) * killed as part of a thread group due to another * thread doing an execve() or similar. So set the * exit signal to -1 to allow immediate reaping of - * the process. + * the process. But don't detach the thread group + * leader. */ - t->exit_signal = -1; + if (t != p->group_leader) + t->exit_signal = -1; sigaddset(&t->pending.signal, SIGKILL); rm_from_queue(SIG_KERNEL_STOP_MASK, &t->pending); |
