summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Donald Kennedy <grkvlt@apache.org>2010-07-26 09:13:14 +0000
committerAndrew Donald Kennedy <grkvlt@apache.org>2010-07-26 09:13:14 +0000
commitddb7db273b343b0e5000e5bba00ed4204f422463 (patch)
treee2cfd4731df40eafa0b0044dc5ae84dde826f342
parentdffec15c82e9d2b7693942d4810d044413986d6b (diff)
downloadqpid-python-ddb7db273b343b0e5000e5bba00ed4204f422463.tar.gz
QPID-2757: Remove double checked locking
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.5.x-dev@979209 13f79535-47bb-0310-9956-ffa450edef68
-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);
}
}