void release(AperiodicEventHandler handler) { // see AperiodicEventHandler, where release is called ScjProcess process = (ScjProcess) handler.process; vm.ClockInterruptHandler.instance.disable(); if (process.state == ScjProcess.State.EXECUTING) {; // do nothing, - is already running } else if (process.state == ScjProcess.State.BLOCKED) { process.state = ScjProcess.State.READY; process.start(); pFrame.readyQueue.insert(process); } else {; // it is already ready } vm.ClockInterruptHandler.instance.enable(); vm.ClockInterruptHandler.instance.yield(); }