diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2024-07-30 18:53:38 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-07-30 18:53:38 +0200 |
commit | 9a7b0158aea7a53c8c942e8b83e16f7f30e0018c (patch) | |
tree | 55e8afffdecaa5b559f7594bd9d6a9bce22afaea /kernel/time/alarmtimer.c | |
parent | 8400291e289ee6b2bf9779ff1c83a291501f017b (diff) | |
parent | 7f8af7bac5380f2d95a63a6f19964e22437166e1 (diff) |
Merge tag 'posix-timers-2024-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/core
Pull updates for posix timers and related signal code from Frederic Weisbecker:
* Prepare posix timers selftests for upcoming changes:
- Check signal behaviour sanity against SIG_IGN
- Check signal behaviour sanity against timer
reprogramm/deletion
- Check SIGEV_NONE pending expiry read
- Check interval timer read on a pending SIGNAL
- Check correct overrun count after signal block/unblock
* Various consolidations:
- timer get/set
- signal queue
* Fixes:
- Correctly read SIGEV_NONE timers
- Forward expiry while reading expired interval timers
with pending signal
- Don't arm SIGEV_NONE timers
* Various cleanups all over the place
Diffstat (limited to 'kernel/time/alarmtimer.c')
-rw-r--r-- | kernel/time/alarmtimer.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index 5abfa4390673..76bd4fda3472 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -574,15 +574,10 @@ static enum alarmtimer_restart alarm_handle_timer(struct alarm *alarm, it.alarm.alarmtimer); enum alarmtimer_restart result = ALARMTIMER_NORESTART; unsigned long flags; - int si_private = 0; spin_lock_irqsave(&ptr->it_lock, flags); - ptr->it_active = 0; - if (ptr->it_interval) - si_private = ++ptr->it_requeue_pending; - - if (posix_timer_event(ptr, si_private) && ptr->it_interval) { + if (posix_timer_queue_signal(ptr) && ptr->it_interval) { /* * Handle ignored signals and rearm the timer. This will go * away once we handle ignored signals proper. Ensure that |