mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-10-05 22:37:23 +00:00
npl/riot: allow for timeout in ble_npl_eventq_get()
This commit is contained in:
committed by
Andrzej Kaczmarek
parent
16a3c5e574
commit
4e7e914da9
@@ -91,16 +91,16 @@ ble_npl_eventq_put(struct ble_npl_eventq *evq, struct ble_npl_event *ev)
|
|||||||
static inline struct ble_npl_event *
|
static inline struct ble_npl_event *
|
||||||
ble_npl_eventq_get(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
ble_npl_eventq_get(struct ble_npl_eventq *evq, ble_npl_time_t tmo)
|
||||||
{
|
{
|
||||||
assert((tmo == 0) || (tmo == BLE_NPL_TIME_FOREVER));
|
|
||||||
|
|
||||||
if (evq->q.waiter == NULL) {
|
if (evq->q.waiter == NULL) {
|
||||||
event_queue_claim(&evq->q);
|
event_queue_claim(&evq->q);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tmo == 0) {
|
if (tmo == 0) {
|
||||||
return (struct ble_npl_event *)event_get(&evq->q);
|
return (struct ble_npl_event *)event_get(&evq->q);
|
||||||
} else {
|
} else if (tmo == BLE_NPL_TIME_FOREVER) {
|
||||||
return (struct ble_npl_event *)event_wait(&evq->q);
|
return (struct ble_npl_event *)event_wait(&evq->q);
|
||||||
|
} else {
|
||||||
|
return (struct ble_npl_event *)event_wait_timeout(&evq->q, (tmo * 1000));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user