From 64e3d09793dbd46e03cb9673c76c9ef36e9b5f22 Mon Sep 17 00:00:00 2001 From: Andrew Donald Kennedy Date: Mon, 26 Jul 2010 09:12:26 +0000 Subject: QPID-2757: Remove double checked locking git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@979208 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/transport/ThreadPoolFilter.java | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'java') diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java index bdd27f2d1c..db02a7bf76 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java +++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java @@ -280,30 +280,23 @@ public class ThreadPoolFilter extends IoFilterAdapter private SessionBuffer getSessionBuffer(IoSession session) { - final Map buffers = this.buffers; - SessionBuffer buf = (SessionBuffer) buffers.get(session); - if (buf == null) + synchronized (buffers) { - synchronized (buffers) + SessionBuffer buf = (SessionBuffer) buffers.get(session); + if (buf == null) { - buf = (SessionBuffer) buffers.get(session); - if (buf == null) - { - buf = new SessionBuffer(session); - buffers.put(session, buf); - } + buf = new SessionBuffer(session); + buffers.put(session, buf); } + return buf; } - return buf; } private void removeSessionBuffer(SessionBuffer buf) { - final Map buffers = this.buffers; - final IoSession session = buf.session; synchronized (buffers) { - buffers.remove(session); + buffers.remove(buf.session); } } -- cgit v1.2.1