From b017986347ed81431ad67851fd61f6950b1412eb Mon Sep 17 00:00:00 2001 From: Benjamin Walsh Date: Thu, 2 Feb 2017 16:39:57 -0500 Subject: [PATCH] kernel/poll: add missing poll_event runtime init It was in the static initializers, but was missing from the object runtime init functions. Change-Id: I10d519760eabdbe640a19cc5cfa9241c1356b070 Signed-off-by: Benjamin Walsh --- include/kernel.h | 6 ++++++ kernel/fifo.c | 2 ++ kernel/sem.c | 3 +++ 3 files changed, 11 insertions(+) diff --git a/include/kernel.h b/include/kernel.h index abff13d1838..2f4de2f47f0 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -3104,6 +3104,12 @@ extern void k_free(void *ptr); /* polling API - PRIVATE */ +#ifdef CONFIG_POLL +#define _INIT_OBJ_POLL_EVENT(obj) do { (obj)->poll_event = NULL; } while ((0)) +#else +#define _INIT_OBJ_POLL_EVENT(obj) do { } while ((0)) +#endif + /* private - implementation data created as needed, per-type */ struct _poller { struct k_thread *thread; diff --git a/kernel/fifo.c b/kernel/fifo.c index 5caeabf0eae..49cc08099b9 100644 --- a/kernel/fifo.c +++ b/kernel/fifo.c @@ -52,6 +52,8 @@ void k_fifo_init(struct k_fifo *fifo) sys_slist_init(&fifo->data_q); sys_dlist_init(&fifo->wait_q); + _INIT_OBJ_POLL_EVENT(fifo); + SYS_TRACING_OBJ_INIT(k_fifo, fifo); } diff --git a/kernel/sem.c b/kernel/sem.c index 75a42d9adaa..718d06e6085 100644 --- a/kernel/sem.c +++ b/kernel/sem.c @@ -73,6 +73,9 @@ void k_sem_init(struct k_sem *sem, unsigned int initial_count, sem->count = initial_count; sem->limit = limit; sys_dlist_init(&sem->wait_q); + + _INIT_OBJ_POLL_EVENT(sem); + SYS_TRACING_OBJ_INIT(k_sem, sem); }