|
@@ -521,11 +521,12 @@ void posix_cpu_timers_exit(struct task_struct *tsk)
|
|
}
|
|
}
|
|
void posix_cpu_timers_exit_group(struct task_struct *tsk)
|
|
void posix_cpu_timers_exit_group(struct task_struct *tsk)
|
|
{
|
|
{
|
|
- struct task_cputime cputime;
|
|
|
|
|
|
+ struct signal_struct *const sig = tsk->signal;
|
|
|
|
|
|
- thread_group_cputimer(tsk, &cputime);
|
|
|
|
cleanup_timers(tsk->signal->cpu_timers,
|
|
cleanup_timers(tsk->signal->cpu_timers,
|
|
- cputime.utime, cputime.stime, cputime.sum_exec_runtime);
|
|
|
|
|
|
+ cputime_add(tsk->utime, sig->utime),
|
|
|
|
+ cputime_add(tsk->stime, sig->stime),
|
|
|
|
+ tsk->se.sum_exec_runtime + sig->sum_sched_runtime);
|
|
}
|
|
}
|
|
|
|
|
|
static void clear_dead_task(struct k_itimer *timer, union cpu_time_count now)
|
|
static void clear_dead_task(struct k_itimer *timer, union cpu_time_count now)
|