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