kernel/poll: add k_poll_signal_init() runtime init
Change-Id: Id5a27f7d25e26a1a71ef87000d35a18777210c19 Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
This commit is contained in:
parent
b017986347
commit
a304f16773
2 changed files with 19 additions and 0 deletions
|
@ -3337,6 +3337,18 @@ extern void k_poll_event_init(struct k_poll_event *event, uint32_t type,
|
|||
extern int k_poll(struct k_poll_event *events, int num_events,
|
||||
int32_t timeout);
|
||||
|
||||
/**
|
||||
* @brief Initialize a poll signal object.
|
||||
*
|
||||
* Ready a poll signal object to be signaled via k_poll_signal().
|
||||
*
|
||||
* @param signal A poll signal.
|
||||
*
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
extern void k_poll_signal_init(struct k_poll_signal *signal);
|
||||
|
||||
/**
|
||||
* @brief Signal a poll signal object.
|
||||
*
|
||||
|
|
|
@ -317,6 +317,13 @@ int _handle_obj_poll_event(struct k_poll_event **obj_poll_event, uint32_t state)
|
|||
return must_reschedule;
|
||||
}
|
||||
|
||||
void k_poll_signal_init(struct k_poll_signal *signal)
|
||||
{
|
||||
signal->poll_event = NULL;
|
||||
signal->signaled = 0;
|
||||
/* signal->result is left unitialized */
|
||||
}
|
||||
|
||||
int k_poll_signal(struct k_poll_signal *signal, int result)
|
||||
{
|
||||
unsigned int key = irq_lock();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue