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,
|
extern int k_poll(struct k_poll_event *events, int num_events,
|
||||||
int32_t timeout);
|
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.
|
* @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;
|
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)
|
int k_poll_signal(struct k_poll_signal *signal, int result)
|
||||||
{
|
{
|
||||||
unsigned int key = irq_lock();
|
unsigned int key = irq_lock();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue