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 /kernel | |
| 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>
Diffstat (limited to 'kernel')
| -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 | ||
