From 37d94bc7fc4991912f2c0d87730ac8c3c26ab00d Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Mon, 10 Dec 2007 16:57:26 +0000
Subject: [PATCH] This fixes 2724 : and enable/fix some more replication tests.
---
opends/src/server/org/opends/server/replication/server/ServerHandler.java | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ServerHandler.java b/opends/src/server/org/opends/server/replication/server/ServerHandler.java
index 174eba0..2c4e3ba 100644
--- a/opends/src/server/org/opends/server/replication/server/ServerHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/ServerHandler.java
@@ -53,7 +53,6 @@
package org.opends.server.replication.server;
import org.opends.messages.*;
-import org.opends.messages.MessageBuilder;
import static org.opends.server.loggers.ErrorLogger.logError;
import static org.opends.server.loggers.debug.DebugLogger.*;
@@ -73,6 +72,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
import org.opends.server.admin.std.server.MonitorProviderCfg;
import org.opends.server.api.MonitorProvider;
@@ -167,6 +167,11 @@
*/
HeartbeatThread heartbeatThread = null;
+ /**
+ * Set when ServerHandler is stopping.
+ */
+ private boolean shutdown = false;
+
private static final Map<ChangeNumber, ReplServerAckMessageList>
changelogsWaitingAcks =
new HashMap<ChangeNumber, ReplServerAckMessageList>();
@@ -1012,13 +1017,13 @@
do {
try
{
- sendWindow.acquire();
+ sendWindow.tryAcquire((long)500, TimeUnit.MILLISECONDS);
interrupted = false;
} catch (InterruptedException e)
{
// loop until not interrupted
}
- } while (interrupted);
+ } while ((interrupted) && (!shutdown));
this.incrementOutCount();
return msg;
}
@@ -1504,6 +1509,7 @@
*/
public void shutdown()
{
+ shutdown = true;
try
{
session.close();
--
Gitblit v1.10.0