summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/transport/ThreadPoolFilter.java21
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);
}
}