ER stp_cyc(ID cycid) { CYCCB *p_cyccb; ER ercd; LOG_STP_CYC_ENTER(cycid); CHECK_TSKCTX_UNL(); CHECK_CYCID(cycid); p_cyccb = get_cyccb(cycid); t_lock_cpu(); if (p_cyccb->p_cycinib->cycatr == TA_NOEXS) { ercd = E_NOEXS; } else { if (p_cyccb->cycsta) { p_cyccb->cycsta = false; tmevtb_dequeue(&(p_cyccb->tmevtb)); } ercd = E_OK; } t_unlock_cpu(); error_exit: LOG_STP_CYC_LEAVE(ercd); return(ercd); }
SYSCALL ER stp_cyc(ID cycid) { CYCCB *cyccb; ER ercd; LOG_STP_CYC_ENTER(cycid); CHECK_TSKCTX_UNL(); CHECK_CYCID(cycid); cyccb = get_cyccb(cycid); t_lock_cpu(); if (cyccb->cycsta) { cyccb->cycsta = FALSE; tmevtb_dequeue(&(cyccb->tmevtb)); } ercd = E_OK; t_unlock_cpu(); exit: LOG_STP_CYC_LEAVE(ercd); return(ercd); }
ER stp_cyc(ID cycid) { ER ercd; uint_t index = INDEX_CYC(cycid); LOG_STP_CYC_ENTER(cycid); CHECK_TSKCTX_UNL(); CHECK_CYCID(cycid); t_lock_cpu(); if((cyccb_cycact & CYCACT_BIT(index)) != 0U) { cyccb_cycact &= ~CYCACT_BIT(index); time_event_dequeue(CYC_EVTID(index)); } ercd = E_OK; t_unlock_cpu(); error_exit: LOG_STA_CYC_LEAVE(ercd); return ercd; }