From 62c2e252d9c0059420f030878584ec1d595c3247 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 08:56:28 +0000
Subject: [PATCH] Fix issue #4509. Fixes a memory leak in the External Changelog (retained a ref on the ServerHandler objects)

---
 opends/src/server/org/opends/server/replication/server/ExternalChangeLogSessionImpl.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ExternalChangeLogSessionImpl.java b/opends/src/server/org/opends/server/replication/server/ExternalChangeLogSessionImpl.java
index bd52427..34af3ab 100644
--- a/opends/src/server/org/opends/server/replication/server/ExternalChangeLogSessionImpl.java
+++ b/opends/src/server/org/opends/server/replication/server/ExternalChangeLogSessionImpl.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2009 Sun Microsystems, Inc.
+ *      Copyright 2009-2010 Sun Microsystems, Inc.
  */
 package org.opends.server.replication.server;
 
@@ -92,7 +92,11 @@
    */
   public void close()
   {
-    if (handler.getDomain() != null)
-      handler.getDomain().stopServer(handler, false);
+    // ECL is a special case in the sense that there is no
+    // ECL replication server domain
+    // The handler is like orphan so no way to use the regular
+    // handler.getDomain().stopServer(handler, ....)
+    // instead call directly handler.
+    handler.shutdown();
   }
 }

--
Gitblit v1.10.0