Marian Buschsieweke
c5ff57c59c
sys/event: fix race in event_wait_multi()
...
We need to clear `event->next` while IRQs are still disabled to
avoid another thread from calling `event_cancel()` just in-between.
2024-12-16 20:11:38 +01:00
Teufelchen
b376bec667
Merge pull request #20847 from benpicco/event_assert
...
sys/event: add assertion that event has a handler
2024-10-25 08:11:51 +00:00
Mihai Renea
9996909b65
sys/event: add event_sync()
2024-10-18 13:14:04 +02:00
Benjamin Valentin
18e6eaca00
sys/event: add assertion that event has a handler
2024-08-29 17:19:13 +02:00
Fabian Hüßler
3047bef039
sys/event: add event_is_queued()
2023-10-06 18:21:34 +02:00
Leandro Lanzieri
b3b76bf6f3
sys/event: ensure that a queue has a waiter before waiting for flags
...
Document and enforce that a queue has a waiter (i.e. it is claimed)
before waiting for thread flags.
2022-04-14 17:10:24 +02:00
Hauke Petersen
91859fc261
sys/event: add event_wait_timeout_ztimer()
2021-03-31 10:11:29 +02:00
7f5d17da83
sys/event: fix possibly uninitialized return warning
2021-03-03 22:28:31 +01:00
Marian Buschsieweke
2c03dfca13
sys/event: Made trivial functions static inline
...
When the expected ROM overhead of a function is bigger than the actual function,
it is better to provide the function as static inline function in the header.
2020-08-05 11:45:53 +02:00
Marian Buschsieweke
649486f5cd
sys/event: Remove incorrect comment
...
The value of `queue->waiter` at the time the event was queued (with IRQs
disabled) was backed up to the stack-variable `waiter`. Thus, the test later on
for `waiter` checks if the queue was already claimed at the time the event
was queued. Therefore, there is no race.
2020-08-05 11:44:25 +02:00
Marian Buschsieweke
8bda9fac1b
sys/event: Add support for multiple queues
...
Added `event_wait_multi()` that takes an array of event queues rather than
a single event queues. The queue with the lowest index will have the highest
priority.
2020-08-04 13:30:25 +02:00
Hauke Petersen
e06cbce940
sys/event: add event_wait_timeout64()
2020-02-13 16:18:32 +01:00
Hauke Petersen
63d85ad1b5
sys/event: add event_wait_timeout()
2019-05-16 12:01:36 +02:00
0ec9c57b2b
add copyrights from IOTPUSH project
2019-05-02 12:09:37 +02:00
Hauke Petersen
b9aeaa7418
sys/event: decouple event_queue from thread
2018-12-11 13:41:21 +01:00
Hauke Petersen
46888a1eaf
sys/event: allow calling event_post multiple times
2018-04-19 16:41:13 +02:00
0e09213e53
sys/event: initial commit of handler-based event system
2017-11-06 14:19:31 +01:00