diff options
| author | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-26 09:13:14 +0000 |
|---|---|---|
| committer | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-26 09:13:14 +0000 |
| commit | ddb7db273b343b0e5000e5bba00ed4204f422463 (patch) | |
| tree | e2cfd4731df40eafa0b0044dc5ae84dde826f342 | |
| parent | dffec15c82e9d2b7693942d4810d044413986d6b (diff) | |
| download | qpid-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.java | 21 |
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); } } |
