summaryrefslogtreecommitdiff
path: root/kernel/itimer.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-07-03 08:29:34 -0500
committerClark Williams <williams@redhat.com>2012-04-04 09:14:34 -0500
commitf22f2558704753631fa21d009420d12df9efdc88 (patch)
tree725ddab8b4b5f89eb62f8b8ce08e3843778244b1 /kernel/itimer.c
parent5b9cd5f1ea48e1b54b5dae3ec5c810ef4406451d (diff)
hrtimers: prepare full preemption
Make cancellation of a running callback in softirq context safe against preemption. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/itimer.c')
-rw-r--r--kernel/itimer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/itimer.c b/kernel/itimer.c
index d802883153da..2c582fc41579 100644
--- a/kernel/itimer.c
+++ b/kernel/itimer.c
@@ -214,6 +214,7 @@ again:
/* We are sharing ->siglock with it_real_fn() */
if (hrtimer_try_to_cancel(timer) < 0) {
spin_unlock_irq(&tsk->sighand->siglock);
+ hrtimer_wait_for_timer(&tsk->signal->real_timer);
goto again;
}
expires = timeval_to_ktime(value->it_value);