...
specifies whether the call is to block if the semaphore is not available, or not block.
OS_OPT_PEND_BLOCKING
to block the caller until the semaphore is available or a timeout occurs.
OS_OPT_PEND_NON_BLOCKING
If the semaphore is not available, OSSemPend()
will not block but return to the caller with an appropriate error code.
...
If OS_CFG_ARG_CHK_EN
is set to 1
in os_cfg.h
: if opt
is not OS_OPT_PEND_NON_BLOCKING or
OS_OPT_PEND_BLOCKING
.
OS_ERR_PEND_ABORT
if
the pend was aborted
OS_ERR_PEND_ISR
If OS_CFG_CALLED_FROM_ISR_CHK_EN
set to 1
in os_cfg.h
: if
this function is called from an ISR.
OS_ERR_PEND_WOULD_BLOCK
if
this function is called as specified OS_OPT_PEND_NON_BLOCKING
, and the semaphore was not available.
OS_ERR_SCHED_LOCKED
If calling this function when the scheduler is locked.
...