Esempio n. 1
0
 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();
 }