Skip to content

Commit 36c4404

Browse files
cfriedtkartben
authored andcommitted
kernel: events: prevent k_event_init() from being called in an ISR
Most kernel objects should be initialized well before being manipulated in ISR context. Event objects are no exception. Initializing a k_event object in ISR context would implicitly be racey and introduce an element of non-determinism. Assert that k_event_init() is not called from ISR context. Signed-off-by: Chris Friedt <[email protected]>
1 parent c10e6ea commit 36c4404

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

kernel/events.c

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ static struct k_obj_type obj_type_event;
5151

5252
void z_impl_k_event_init(struct k_event *event)
5353
{
54+
__ASSERT_NO_MSG(!arch_is_in_isr());
55+
5456
event->events = 0;
5557
event->lock = (struct k_spinlock) {};
5658

0 commit comments

Comments
 (0)