kernel: add support for event objects

Threads may wait on an event object such that any events posted to
that event object may wake a waiting thread if the posting satisfies
the waiting threads' event conditions.

The configuration option CONFIG_EVENTS is used to control the inclusion
of events in a system as their use increases the size of
'struct k_thread'.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This commit is contained in:
Peter Mitsis 2021-09-20 14:14:32 -04:00 committed by Anas Nashif
commit ae394bff7c
13 changed files with 546 additions and 2 deletions

View file

@ -215,6 +215,13 @@ struct k_thread {
struct z_poller poller;
#endif
#if defined(CONFIG_EVENTS)
struct k_thread *next_event_link;
uint32_t events;
uint32_t event_options;
#endif
#if defined(CONFIG_THREAD_MONITOR)
/** thread entry and parameters description */
struct __thread_entry entry;