diff options
| author | David S. Miller <davem@davemloft.net> | 2009-01-26 17:43:16 -0800 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-01-26 17:43:16 -0800 |
| commit | 3eacdf58c2c0b9507afedfc19108e98b992c31e4 (patch) | |
| tree | d95e7e022ff6e6181edce43fe97cf2883b5a91ed /kernel/fork.c | |
| parent | dd0a251c8e087bca05e8f9a3657078591ae6e12b (diff) | |
| parent | 5376071069ec8a7e6a8112beab16fc24f5139475 (diff) | |
| download | lwn-3eacdf58c2c0b9507afedfc19108e98b992c31e4.tar.gz lwn-3eacdf58c2c0b9507afedfc19108e98b992c31e4.zip | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index bf0cef8bbdf2..242a706e7721 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -817,17 +817,17 @@ static void posix_cpu_timers_init_group(struct signal_struct *sig) static int copy_signal(unsigned long clone_flags, struct task_struct *tsk) { struct signal_struct *sig; - int ret; if (clone_flags & CLONE_THREAD) { - ret = thread_group_cputime_clone_thread(current); - if (likely(!ret)) { - atomic_inc(¤t->signal->count); - atomic_inc(¤t->signal->live); - } - return ret; + atomic_inc(¤t->signal->count); + atomic_inc(¤t->signal->live); + return 0; } sig = kmem_cache_alloc(signal_cachep, GFP_KERNEL); + + if (sig) + posix_cpu_timers_init_group(sig); + tsk->signal = sig; if (!sig) return -ENOMEM; @@ -864,8 +864,6 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk) memcpy(sig->rlim, current->signal->rlim, sizeof sig->rlim); task_unlock(current->group_leader); - posix_cpu_timers_init_group(sig); - acct_init_pacct(&sig->pacct); tty_audit_fork(sig); |
