diff options
Diffstat (limited to 'sources/core/VSTaskManager.java')
| -rw-r--r-- | sources/core/VSTaskManager.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sources/core/VSTaskManager.java b/sources/core/VSTaskManager.java index 66913fc..6b419cf 100644 --- a/sources/core/VSTaskManager.java +++ b/sources/core/VSTaskManager.java @@ -216,6 +216,29 @@ public class VSTaskManager { return false; } + public synchronized void removeTasksOf(VSProcess process) { + ArrayList<VSTask> removeThose = new ArrayList<VSTask>(); + for (VSTask task : fullfilledProgrammedTasks) + if (task.isProcess(process)) + removeThose.add(task); + for (VSTask task : removeThose) + fullfilledProgrammedTasks.remove(task); + + removeThose.clear(); + for (VSTask task : globalTasks) + if (task.isProcess(process)) + removeThose.add(task); + for (VSTask task : removeThose) + globalTasks.remove(task); + + removeThose.clear(); + for (VSTask task : tasks) + if (task.isProcess(process)) + removeThose.add(task); + for (VSTask task : removeThose) + tasks.remove(task); + } + public synchronized VSPriorityQueue<VSTask> getLocalTasks() { VSPriorityQueue<VSTask> processTasks = new VSPriorityQueue<VSTask>(); |
