diff options
| author | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-26 09:12:26 +0000 |
|---|---|---|
| committer | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-26 09:12:26 +0000 |
| commit | 64e3d09793dbd46e03cb9673c76c9ef36e9b5f22 (patch) | |
| tree | 39996f1fbac958b04d21d6c199da2cbfe6aa8294 /java | |
| parent | 004ad0e8dd330af7bcee245a60338a26c50a62b6 (diff) | |
| download | qpid-python-64e3d09793dbd46e03cb9673c76c9ef36e9b5f22.tar.gz | |
QPID-2757: Remove double checked locking
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@979208 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java | 21 |
1 files changed, 7 insertions, 14 deletions
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); } } |
