aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-13 03:44:22 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-13 03:44:22 -0500
commitf8a6b2b9cee298a9663cbe38ce1eb5240987cb62 (patch)
treeb356490269c9e77d164dcc1477792b882fbb8bdb /kernel/fork.c
parentba1511bf7fbda452138e4096bf10d5a382710f4f (diff)
parent071a0bc2ceace31266836801510879407a3701fa (diff)
Merge branch 'linus' into x86/apic
Conflicts: arch/x86/kernel/acpi/boot.c arch/x86/mm/fault.c
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 99309df985bf..8de303bdd4e5 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -856,13 +856,14 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk)
856 sig->tty_old_pgrp = NULL; 856 sig->tty_old_pgrp = NULL;
857 sig->tty = NULL; 857 sig->tty = NULL;
858 858
859 sig->cutime = sig->cstime = cputime_zero; 859 sig->utime = sig->stime = sig->cutime = sig->cstime = cputime_zero;
860 sig->gtime = cputime_zero; 860 sig->gtime = cputime_zero;
861 sig->cgtime = cputime_zero; 861 sig->cgtime = cputime_zero;
862 sig->nvcsw = sig->nivcsw = sig->cnvcsw = sig->cnivcsw = 0; 862 sig->nvcsw = sig->nivcsw = sig->cnvcsw = sig->cnivcsw = 0;
863 sig->min_flt = sig->maj_flt = sig->cmin_flt = sig->cmaj_flt = 0; 863 sig->min_flt = sig->maj_flt = sig->cmin_flt = sig->cmaj_flt = 0;
864 sig->inblock = sig->oublock = sig->cinblock = sig->coublock = 0; 864 sig->inblock = sig->oublock = sig->cinblock = sig->coublock = 0;
865 task_io_accounting_init(&sig->ioac); 865 task_io_accounting_init(&sig->ioac);
866 sig->sum_sched_runtime = 0;
866 taskstats_tgid_init(sig); 867 taskstats_tgid_init(sig);
867 868
868 task_lock(current->group_leader); 869 task_lock(current->group_leader);
@@ -1010,6 +1011,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
1010 * triggers too late. This doesn't hurt, the check is only there 1011 * triggers too late. This doesn't hurt, the check is only there
1011 * to stop root fork bombs. 1012 * to stop root fork bombs.
1012 */ 1013 */
1014 retval = -EAGAIN;
1013 if (nr_threads >= max_threads) 1015 if (nr_threads >= max_threads)
1014 goto bad_fork_cleanup_count; 1016 goto bad_fork_cleanup_count;
1015 1017
@@ -1098,7 +1100,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
1098#ifdef CONFIG_DEBUG_MUTEXES 1100#ifdef CONFIG_DEBUG_MUTEXES
1099 p->blocked_on = NULL; /* not blocked yet */ 1101 p->blocked_on = NULL; /* not blocked yet */
1100#endif 1102#endif
1101 if (unlikely(ptrace_reparented(current))) 1103 if (unlikely(current->ptrace))
1102 ptrace_fork(p, clone_flags); 1104 ptrace_fork(p, clone_flags);
1103 1105
1104 /* Perform scheduler related setup. Assign this task to a CPU. */ 1106 /* Perform scheduler related setup. Assign this task to a CPU. */