diff options
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); } } |
