diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 05:59:37 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 08:20:42 -0400 |
commit | dbb6be6d5e974c42bbecd183effaa0df69e1dd8b (patch) | |
tree | 5735cb47e70853d057a9881dd0ce44b83e88fa63 /kernel/posix-cpu-timers.c | |
parent | 6a867a395558a7f882d041783e4cdea6744ca2bf (diff) | |
parent | b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (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.c | 10 |
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 | ||
1000 | static void stop_process_timers(struct task_struct *tsk) | 1000 | static 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 | ||
1013 | static u32 onecputick; | 1017 | static 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 | ||