diff options
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 40cd099cfc1b..d32410bd4be7 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -877,9 +877,9 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk) | |||
877 | if (!sig) | 877 | if (!sig) |
878 | return -ENOMEM; | 878 | return -ENOMEM; |
879 | 879 | ||
880 | atomic_set(&sig->sigcnt, 1); | 880 | sig->nr_threads = 1; |
881 | atomic_set(&sig->count, 1); | ||
882 | atomic_set(&sig->live, 1); | 881 | atomic_set(&sig->live, 1); |
882 | atomic_set(&sig->sigcnt, 1); | ||
883 | init_waitqueue_head(&sig->wait_chldexit); | 883 | init_waitqueue_head(&sig->wait_chldexit); |
884 | if (clone_flags & CLONE_NEWPID) | 884 | if (clone_flags & CLONE_NEWPID) |
885 | sig->flags |= SIGNAL_UNKILLABLE; | 885 | sig->flags |= SIGNAL_UNKILLABLE; |
@@ -1256,9 +1256,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1256 | } | 1256 | } |
1257 | 1257 | ||
1258 | if (clone_flags & CLONE_THREAD) { | 1258 | if (clone_flags & CLONE_THREAD) { |
1259 | atomic_inc(¤t->signal->sigcnt); | 1259 | current->signal->nr_threads++; |
1260 | atomic_inc(¤t->signal->count); | ||
1261 | atomic_inc(¤t->signal->live); | 1260 | atomic_inc(¤t->signal->live); |
1261 | atomic_inc(¤t->signal->sigcnt); | ||
1262 | p->group_leader = current->group_leader; | 1262 | p->group_leader = current->group_leader; |
1263 | list_add_tail_rcu(&p->thread_group, &p->group_leader->thread_group); | 1263 | list_add_tail_rcu(&p->thread_group, &p->group_leader->thread_group); |
1264 | } | 1264 | } |