sched/semaphore: Remove restriction to use nxsem_trywait from ISR

Considering that `nxsem_trywait` is non-blocking, although not
recommended, it could be called from the interrupt handler.
This commit is contained in:
Tiago Medicci Serrano 2023-08-10 15:47:04 -03:00 committed by Xiang Xiao
parent 719191ac72
commit 98985f48dd

View File

@ -70,10 +70,11 @@ int nxsem_trywait(FAR sem_t *sem)
irqstate_t flags;
int ret;
/* This API should not be called from interrupt handlers & idleloop */
/* This API should not be called from the idleloop */
DEBUGASSERT(sem != NULL && up_interrupt_context() == false);
DEBUGASSERT(!OSINIT_IDLELOOP() || !sched_idletask());
DEBUGASSERT(sem != NULL);
DEBUGASSERT(!OSINIT_IDLELOOP() || !sched_idletask() ||
up_interrupt_context());
/* The following operations must be performed with interrupts disabled
* because sem_post() may be called from an interrupt handler.