added osal_queue_empty() API

ported for osal none/freertos/mynewt
This commit is contained in:
hathach
2020-05-20 13:38:41 +07:00
parent 76bf96bcb0
commit 4e8d414bc6
4 changed files with 26 additions and 6 deletions

View File

@@ -142,7 +142,7 @@ typedef osal_queue_def_t* osal_queue_t;
}\
}
// lock queue by disable usb isr
// lock queue by disable USB interrupt
static inline void _osal_q_lock(osal_queue_t qhdl)
{
(void) qhdl;
@@ -176,7 +176,6 @@ static inline osal_queue_t osal_queue_create(osal_queue_def_t* qdef)
return (osal_queue_t) qdef;
}
// non blocking
static inline bool osal_queue_receive(osal_queue_t const qhdl, void* data)
{
_osal_q_lock(qhdl);
@@ -203,6 +202,15 @@ static inline bool osal_queue_send(osal_queue_t const qhdl, void const * data, b
return success;
}
static inline bool osal_queue_empty(osal_queue_t const qhdl)
{
_osal_q_lock(qhdl);
bool is_empty = tu_fifo_empty(&qhdl->ff);
_osal_q_unlock(qhdl);
return is_empty;
}
#ifdef __cplusplus
}
#endif