nuttx/sched/event
Marco Casaroli 7e5cf3d5d0
Some checks are pending
MemBrowse Memory Report / changes-filter (push) Waiting to run
MemBrowse Memory Report / load-targets (push) Waiting to run
MemBrowse Memory Report / identical (push) Blocked by required conditions
MemBrowse Memory Report / analyze (push) Blocked by required conditions
sched: Skip wd_cancel() on wakeup when the waiter set no timeout.
A task woken from a semaphore, a signal wait, a message queue or an event
wait gets its timeout watchdog cancelled, but most waiters set none, and
wd_cancel() then only takes the critical section to find that out.

Check WDOG_ISACTIVE() first at these call sites.  Each already holds the
critical section, so wd_expiration() cannot be running the watchdog on
another CPU and the check is exact on SMP too.  wd_cancel() itself keeps
its locked check.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-10-05 20:17:02 +08:00
..
CMakeLists.txt sched/event: Add nxevent_wait_irq() to handle the task cancel 2025-10-31 19:56:32 -03:00
event.h [!] sched/event: Remove wait object dependency from event implementation 2025-10-31 19:56:32 -03:00
event_clear.c sched/event: Restore critical section protection for event wait and post 2025-10-31 19:56:32 -03:00
event_destroy.c
event_getmask.c sched/event: Restore critical section protection for event wait and post 2025-10-31 19:56:32 -03:00
event_init.c [!] sched/event: Remove wait object dependency from event implementation 2025-10-31 19:56:32 -03:00
event_post.c sched: Skip wd_cancel() on wakeup when the waiter set no timeout. 2026-10-05 20:17:02 +08:00
event_reset.c
event_wait.c [!] sched/event: Remove wait object dependency from event implementation 2025-10-31 19:56:32 -03:00
event_waitirq.c [!] sched/event: Remove wait object dependency from event implementation 2025-10-31 19:56:32 -03:00
Make.defs sched/event: Add nxevent_wait_irq() to handle the task cancel 2025-10-31 19:56:32 -03:00