aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/posix-cpu-timers.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-05-10 05:59:37 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-05-10 08:20:42 -0400
commitdbb6be6d5e974c42bbecd183effaa0df69e1dd8b (patch)
tree5735cb47e70853d057a9881dd0ce44b83e88fa63 /kernel/posix-cpu-timers.c
parent6a867a395558a7f882d041783e4cdea6744ca2bf (diff)
parentb57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (diff)
Merge branch 'linus' into timers/core
Reason: Further posix_cpu_timer patches depend on mainline changes Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/posix-cpu-timers.c')
-rw-r--r--kernel/posix-cpu-timers.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c
index 564b3b0240dd..799f360d1475 100644
--- a/kernel/posix-cpu-timers.c
+++ b/kernel/posix-cpu-timers.c
@@ -997,9 +997,9 @@ static void check_thread_timers(struct task_struct *tsk,
997 } 997 }
998} 998}
999 999
1000static void stop_process_timers(struct task_struct *tsk) 1000static void stop_process_timers(struct signal_struct *sig)
1001{ 1001{
1002 struct thread_group_cputimer *cputimer = &tsk->signal->cputimer; 1002 struct thread_group_cputimer *cputimer = &sig->cputimer;
1003 unsigned long flags; 1003 unsigned long flags;
1004 1004
1005 if (!cputimer->running) 1005 if (!cputimer->running)
@@ -1008,6 +1008,10 @@ static void stop_process_timers(struct task_struct *tsk)
1008 spin_lock_irqsave(&cputimer->lock, flags); 1008 spin_lock_irqsave(&cputimer->lock, flags);
1009 cputimer->running = 0; 1009 cputimer->running = 0;
1010 spin_unlock_irqrestore(&cputimer->lock, flags); 1010 spin_unlock_irqrestore(&cputimer->lock, flags);
1011
1012 sig->cputime_expires.prof_exp = cputime_zero;
1013 sig->cputime_expires.virt_exp = cputime_zero;
1014 sig->cputime_expires.sched_exp = 0;
1011} 1015}
1012 1016
1013static u32 onecputick; 1017static u32 onecputick;
@@ -1069,7 +1073,7 @@ static void check_process_timers(struct task_struct *tsk,
1069 list_empty(&timers[CPUCLOCK_VIRT]) && 1073 list_empty(&timers[CPUCLOCK_VIRT]) &&
1070 cputime_eq(sig->it[CPUCLOCK_VIRT].expires, cputime_zero) && 1074 cputime_eq(sig->it[CPUCLOCK_VIRT].expires, cputime_zero) &&
1071 list_empty(&timers[CPUCLOCK_SCHED])) { 1075 list_empty(&timers[CPUCLOCK_SCHED])) {
1072 stop_process_timers(tsk); 1076 stop_process_timers(sig);
1073 return; 1077 return;
1074 } 1078 }
1075 1079