diff --git a/kernel/include/kernel_internal.h b/kernel/include/kernel_internal.h index 94f90ce9462..afc5409d207 100644 --- a/kernel/include/kernel_internal.h +++ b/kernel/include/kernel_internal.h @@ -221,7 +221,7 @@ void z_mem_manage_init(void); void z_mem_manage_boot_finish(void); -void z_handle_obj_poll_events(sys_dlist_t *events, uint32_t state); +bool z_handle_obj_poll_events(sys_dlist_t *events, uint32_t state); #ifdef CONFIG_PM diff --git a/kernel/poll.c b/kernel/poll.c index 6a9f1e5e75d..a1930a6292f 100644 --- a/kernel/poll.c +++ b/kernel/poll.c @@ -454,7 +454,7 @@ static int signal_poll_event(struct k_poll_event *event, uint32_t state) return retcode; } -void z_handle_obj_poll_events(sys_dlist_t *events, uint32_t state) +bool z_handle_obj_poll_events(sys_dlist_t *events, uint32_t state) { struct k_poll_event *poll_event; k_spinlock_key_t key = k_spin_lock(&lock); @@ -465,6 +465,8 @@ void z_handle_obj_poll_events(sys_dlist_t *events, uint32_t state) } k_spin_unlock(&lock, key); + + return (poll_event != NULL); } void z_impl_k_poll_signal_init(struct k_poll_signal *sig)