From 4de5343c60cc165cdf30121e0ed9eca96ac91a22 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 22 May 2008 11:38:58 +0000 Subject: Random crash tasks bugfix. --- sources/core/VSProcess.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'sources/core/VSProcess.java') diff --git a/sources/core/VSProcess.java b/sources/core/VSProcess.java index e4f3332..ad3af56 100644 --- a/sources/core/VSProcess.java +++ b/sources/core/VSProcess.java @@ -211,21 +211,24 @@ public final class VSProcess extends VSPrefs { protocol.reset(); setCurrentColor(getColor("col.process.default")); - createRandomCrashTask(); resetTimeFormats(); } - private void createRandomCrashTask() { + public void createRandomCrashTask() { if (!isCrashed) { VSTaskManager taskManager = simulationCanvas.getTaskManager(); long crashTime = getARandomCrashTime(); + if (crashTime < 0) + return; + if (randomCrashTask != null) taskManager.removeTask(randomCrashTask); - if (crashTime >= 0 && crashTime >= getGlobalTime()) { + + if (crashTime >= getGlobalTime()) { VSEvent event = new ProcessCrashEvent(); - event.init(this); + //event.init(this); randomCrashTask = new VSTask(crashTime, this, event, VSTask.GLOBAL); taskManager.addTask(randomCrashTask); @@ -356,7 +359,7 @@ public final class VSProcess extends VSPrefs { public synchronized long getARandomMessageOutageTime(final long durationTime) { /* Check if the message will have an outage or not */ - if (random.nextInt(100) <= getInteger("message.prob.outage")) { + if (random.nextInt(100) < getInteger("message.prob.outage")) { /* Calculate the random outage time! */ final long outageTime = globalTime + random.nextLong(durationTime+1) % simulationCanvas.getUntilTime(); return outageTime; -- cgit v1.2.3