From 2cf4412179a4ca8610d7fbb2108040377290bf82 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 06 Jun 2014 13:12:34 +0000
Subject: [PATCH] OPENDJ-1453 (CR-3697) Change time heart beat change numbers should be synced with updates
---
opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java b/opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java
index d255608..e3c2869 100644
--- a/opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java
+++ b/opends/src/server/org/opends/server/extensions/TraditionalWorkerThread.java
@@ -22,11 +22,10 @@
*
*
* Copyright 2006-2010 Sun Microsystems, Inc.
- * Portions copyright 2011-2013 ForgeRock AS
+ * Portions copyright 2011-2014 ForgeRock AS
*/
package org.opends.server.extensions;
-
import java.util.Map;
import org.opends.messages.Message;
@@ -38,12 +37,11 @@
import org.opends.server.types.DisconnectReason;
import org.opends.server.types.Operation;
+import static org.opends.messages.CoreMessages.*;
import static org.opends.server.loggers.ErrorLogger.*;
import static org.opends.server.loggers.debug.DebugLogger.*;
-import static org.opends.messages.CoreMessages.*;
import static org.opends.server.util.StaticUtils.*;
-
/**
* This class defines a data structure for storing and interacting with a
* Directory Server worker thread.
@@ -63,7 +61,7 @@
private volatile boolean shutdownRequested;
/**
- * Indicates whether this thread was stopped because the server threadnumber
+ * Indicates whether this thread was stopped because the server thread number
* was reduced.
*/
private boolean stoppedByReducedThreadNumber;
@@ -72,13 +70,13 @@
private boolean waitingForWork;
/** The operation that this worker thread is currently processing. */
- private Operation operation;
+ private volatile Operation operation;
/** The handle to the actual thread for this worker thread. */
private Thread workerThread;
/** The work queue that this worker thread will service. */
- private TraditionalWorkQueue workQueue;
+ private final TraditionalWorkQueue workQueue;
@@ -129,7 +127,7 @@
*/
public boolean isActive()
{
- return (isAlive() && (operation != null));
+ return isAlive() && operation != null;
}
@@ -148,7 +146,7 @@
try
{
waitingForWork = true;
- operation = null;
+ operation = null; // this line is necessary because next line can block
operation = workQueue.nextOperation(this);
waitingForWork = false;
--
Gitblit v1.10.0