diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2006-06-26 03:26:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 12:58:27 -0400 |
commit | cf2dfbfbf4c5cb489ea12defd85a484307b955b8 (patch) | |
tree | c6aa61378a738694390c2728957ed72608b4a183 | |
parent | 5debfa6da5b06954bc79fe8deed0d1062c58dcec (diff) |
[PATCH] coredump: copy_process: don't check SIGNAL_GROUP_EXIT
After the previous patch SIGNAL_GROUP_EXIT implies a pending SIGKILL, we
can remove this check from copy_process() because we already checked
!signal_pending().
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | kernel/fork.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 79e91046f36e..9b4e54ef0225 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1156,18 +1156,6 @@ static task_t *copy_process(unsigned long clone_flags, | |||
1156 | } | 1156 | } |
1157 | 1157 | ||
1158 | if (clone_flags & CLONE_THREAD) { | 1158 | if (clone_flags & CLONE_THREAD) { |
1159 | /* | ||
1160 | * Important: if an exit-all has been started then | ||
1161 | * do not create this new thread - the whole thread | ||
1162 | * group is supposed to exit anyway. | ||
1163 | */ | ||
1164 | if (current->signal->flags & SIGNAL_GROUP_EXIT) { | ||
1165 | spin_unlock(¤t->sighand->siglock); | ||
1166 | write_unlock_irq(&tasklist_lock); | ||
1167 | retval = -EAGAIN; | ||
1168 | goto bad_fork_cleanup_namespace; | ||
1169 | } | ||
1170 | |||
1171 | p->group_leader = current->group_leader; | 1159 | p->group_leader = current->group_leader; |
1172 | list_add_tail_rcu(&p->thread_group, &p->group_leader->thread_group); | 1160 | list_add_tail_rcu(&p->thread_group, &p->group_leader->thread_group); |
1173 | 1161 | ||