You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by dk...@apache.org on 2015/08/04 17:59:22 UTC

[03/10] activemq git commit: Fixing missing volatile on references in VMTransport to prevent a synchronization bug.

Fixing missing volatile on references in VMTransport to prevent a synchronization bug.

This resolves https://issues.apache.org/jira/browse/AMQ-5787


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/3769284e
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/3769284e
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/3769284e

Branch: refs/heads/activemq-5.11.x
Commit: 3769284ecd6aec800d0a3750f3721b0d71fcb5b9
Parents: 2ad1f1e
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Authored: Wed May 20 18:38:59 2015 +0000
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Aug 4 08:44:32 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/activemq/transport/vm/VMTransport.java     | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/3769284e/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java b/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
index 75bd6fe..4b82f93 100755
--- a/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
@@ -56,9 +56,9 @@ public class VMTransport implements Transport, Task {
     protected final long id;
 
     // Implementation
-    private LinkedBlockingQueue<Object> messageQueue;
-    private TaskRunnerFactory taskRunnerFactory;
-    private TaskRunner taskRunner;
+    private volatile LinkedBlockingQueue<Object> messageQueue;
+    private volatile TaskRunnerFactory taskRunnerFactory;
+    private volatile TaskRunner taskRunner;
 
     // Transport State
     protected final AtomicBoolean started = new AtomicBoolean();