From d88705ba2fe6264a6a8e8ef97b10e48a9635f4c8 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 27 May 2008 23:42:03 +0000
Subject: [PATCH] Close the connection that is created for the task, once the task is over.  This is required when we are using the Tool classes in embedded mode.

---
 opends/src/server/org/opends/server/tools/tasks/TaskTool.java |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/tasks/TaskTool.java b/opends/src/server/org/opends/server/tools/tasks/TaskTool.java
index 8bcf2c3..8259ace 100644
--- a/opends/src/server/org/opends/server/tools/tasks/TaskTool.java
+++ b/opends/src/server/org/opends/server/tools/tasks/TaskTool.java
@@ -394,8 +394,9 @@
         }
       }
 
+      LDAPConnection conn = null;
       try {
-        LDAPConnection conn = argParser.connect(out, err);
+        conn = argParser.connect(out, err);
         TaskClient tc = new TaskClient(conn);
         TaskEntry taskEntry = tc.schedule(this);
         Message startTime = taskEntry.getScheduledStartTime();
@@ -474,6 +475,19 @@
         Message message = e.getMessageObject();
         if (err != null) err.println(wrapText(message, MAX_LINE_WIDTH));
         ret = 1;
+      } finally
+      {
+        if (conn != null)
+        {
+          try
+          {
+            conn.close(null);
+          }
+          catch (Throwable t)
+          {
+            // Ignore.
+          }
+        }
       }
     } else {
       ret = processLocal(initializeServer, out, err);

--
Gitblit v1.10.0