From 72c939b50428a2aa1f924a04ecdedee93e1383f4 Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Thu, 13 Sep 2007 21:14:20 +0000
Subject: [PATCH] Introduces a utility 'manage-tasks' for monitoring and some management of tasks called 'manage-tasks'. It can be used in either one-time or menu-driven execution mode to print a summary of task information, print verbose information about a particular task, or cancel a running or pending task.

---
 opends/src/server/org/opends/server/backends/task/TaskScheduler.java |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/task/TaskScheduler.java b/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
index 285c8da..b835337 100644
--- a/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
+++ b/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
@@ -347,6 +347,10 @@
         activeThreads.put(task.getTaskID(), taskThread);
         taskThread.setTask(task);
       }
+      else if (TaskState.isDone(state))
+      {
+        completedTasks.add(task);
+      }
       else
       {
         pendingTasks.add(task);
@@ -871,6 +875,13 @@
    */
   private TaskState shouldStart(Task task)
   {
+    // If the task has finished we don't want to restart it
+    TaskState state = task.getTaskState();
+    if (state != null && TaskState.isDone(state))
+    {
+      return state;
+    }
+
     if (! isRunning)
     {
       return TaskState.UNSCHEDULED;

--
Gitblit v1.10.0