summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/time/posix-timers.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index 1b675aee99a9..44ba7db07e90 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -1099,8 +1099,10 @@ void exit_itimers(struct task_struct *tsk)
spin_unlock_irq(&tsk->sighand->siglock);
/* The timers are not longer accessible via tsk::signal */
- while (!hlist_empty(&timers))
+ while (!hlist_empty(&timers)) {
itimer_delete(hlist_entry(timers.first, struct k_itimer, list));
+ cond_resched();
+ }
/*
* There should be no timers on the ignored list. itimer_delete() has