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); }