diff --git a/src/Global.java b/src/Global.java index e4442dae810bb63530271b435ac22c1fdfe75a6f..cdfbff6ffbe1d9e8fb295155aa3f1e26c61aa375 100644 --- a/src/Global.java +++ b/src/Global.java @@ -14,7 +14,6 @@ public class Global { if (t.isKernel) { srtf.add(t); - rr.stop(); } else { rr.add(t); } @@ -22,6 +21,7 @@ public class Global { public void tick() { if(srtf.isEmpty() && rr.isEmpty()) {Main.schedulersEmpty = true; return;} + else if(!srtf.isEmpty()) rr.stop(); srtf.tick(); rr.tick(); diff --git a/src/RR.java b/src/RR.java index 59e76d7f38ba7c1c4b855d6f131c914e4a1d527b..9221b29a97962f820b1cf57fbfbc20d54eacf2cf 100644 --- a/src/RR.java +++ b/src/RR.java @@ -21,17 +21,14 @@ public class RR { } public void start() { - if(!enabled) { - if (activeTask != null) waitingQueue.add(activeTask); - activeTask = null; - } - enabled = true; } public void stop() { enabled = false; runningFor = 0; + if (activeTask != null) waitingQueue.add(activeTask); + activeTask = null; } public void add(Task t) {