From 161fa81eb1a6a9f0d647966ee38acb36d6ad00dd Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Mon, 08 Apr 2013 17:26:50 +0000
Subject: [PATCH] Fix for OPENDJ-617. Resolve race condition in Windows Services when stopping the server.

---
 opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java
index fd0c801..38545fc 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2008-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011 ForgeRock AS
+ *      Portions Copyright 2011-2013 ForgeRock AS
  */
 
 package org.opends.server.tools;
@@ -686,6 +686,7 @@
       returnValue = SERVICE_CLEANUP_ERROR;
       msg = ERR_WINDOWS_SERVICE_CLEANUP_ERROR.get(serviceName);
       err.println(msg);
+      err.println("Exception:" + t.toString());
     }
     return returnValue;
   }
@@ -763,10 +764,10 @@
         break;
       case 2:
         returnValue = SERVICE_STATE_ERROR;
-        if (out != null)
+        if (err != null)
         {
           msg = ERR_WINDOWS_SERVICE_STATE_ERROR.get();
-          out.println(msg);
+          err.println(msg);
         }
         break;
       default:
@@ -784,7 +785,8 @@
       if (err != null)
       {
         msg = ERR_WINDOWS_SERVICE_STATE_ERROR.get();
-        err.println(wrapText(msg, MAX_LINE_WIDTH));
+        err.println(msg);
+        err.println(wrapText(t.toString(), MAX_LINE_WIDTH));
       }
     }
     return returnValue;
@@ -806,8 +808,7 @@
        * Do a best effort to avoid having a relative representation (for
        * instance to avoid having ../../../).
        */
-      File canonical = f.getCanonicalFile();
-      f = canonical;
+      f = f.getCanonicalFile();
     }
     catch (IOException ioe)
     {

--
Gitblit v1.10.0