void suspend(tcb_t *target) { ipcCancel(target); setThreadState(target, ThreadState_Inactive); tcbSchedDequeue(target); }
void restart(tcb_t *target) { if (isBlocked(target)) { ipcCancel(target); setupReplyMaster(target); setThreadState(target, ThreadState_Restart); tcbSchedEnqueue(target); switchIfRequiredTo(target); } }
void suspend(tcb_t *target) { ipcCancel(target); /*if (cap_get_capType(TCB_PTR_CTE_PTR(target, tcbCaller)->cap) == cap_reply_cap)*/ { deleteCallerCap(target); } setThreadState(target, ThreadState_Inactive); tcbSchedDequeue(target); }