summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAndrew Donald Kennedy <grkvlt@apache.org>2010-07-26 09:12:26 +0000
committerAndrew Donald Kennedy <grkvlt@apache.org>2010-07-26 09:12:26 +0000
commitb786059d21d5378b9f6eea1dc4158f3f4edf2db6 (patch)
treeb335f8cba1df90e6089c622d4782c05d9f55e83c /qpid/java
parent0e5c0af8c298b1efda48999d40c150783270f51d (diff)
downloadqpid-python-b786059d21d5378b9f6eea1dc4158f3f4edf2db6.tar.gz
QPID-2757: Remove double checked locking
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@979208 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java21
1 files changed, 7 insertions, 14 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java
index bdd27f2d1c..db02a7bf76 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java
+++ b/qpid/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);
}
}