diff options
-rw-r--r-- | fs/timerfd.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/timerfd.c b/fs/timerfd.c index 9293121..d20e45a 100644 --- a/fs/timerfd.c +++ b/fs/timerfd.c @@ -380,7 +380,10 @@ static int do_timerfd_settime(int ufd, int flags, break; } spin_unlock_irq(&ctx->wqh.lock); - cpu_relax(); + if (isalarm(ctx)) + hrtimer_wait_for_timer(&ctx->t.alarm.timer); + else + hrtimer_wait_for_timer(&ctx->t.tmr); } /* |