]> Pileus Git - ~andy/linux/blobdiff - kernel/exit.c
sched: Remove task_{u,s,g}time()
[~andy/linux] / kernel / exit.c
index e61891f801238f3a386e9162f7bed8b456a4e268..2eaf68b634e3b592726b5176188cc6186cbc6b27 100644 (file)
@@ -91,6 +91,8 @@ static void __exit_signal(struct task_struct *tsk)
        if (atomic_dec_and_test(&sig->count))
                posix_cpu_timers_exit_group(tsk);
        else {
+               cputime_t utime, stime;
+
                /*
                 * If there is any task waiting for the group exit
                 * then notify it:
@@ -110,9 +112,10 @@ static void __exit_signal(struct task_struct *tsk)
                 * We won't ever get here for the group leader, since it
                 * will have been the last reference on the signal_struct.
                 */
-               sig->utime = cputime_add(sig->utime, task_utime(tsk));
-               sig->stime = cputime_add(sig->stime, task_stime(tsk));
-               sig->gtime = cputime_add(sig->gtime, task_gtime(tsk));
+               task_times(tsk, &utime, &stime);
+               sig->utime = cputime_add(sig->utime, utime);
+               sig->stime = cputime_add(sig->stime, stime);
+               sig->gtime = cputime_add(sig->gtime, tsk->gtime);
                sig->min_flt += tsk->min_flt;
                sig->maj_flt += tsk->maj_flt;
                sig->nvcsw += tsk->nvcsw;
@@ -359,10 +362,8 @@ void __set_special_pids(struct pid *pid)
 {
        struct task_struct *curr = current->group_leader;
 
-       if (task_session(curr) != pid) {
+       if (task_session(curr) != pid)
                change_pid(curr, PIDTYPE_SID, pid);
-               proc_sid_connector(curr);
-       }
 
        if (task_pgrp(curr) != pid)
                change_pid(curr, PIDTYPE_PGID, pid);