summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-02-20 16:17:39 +0000
committerRobert Gemmell <robbie@apache.org>2012-02-20 16:17:39 +0000
commitaa5601da0b9c769559c6ed883da9f138f1505b4c (patch)
tree3f242168068b988b008dcd7de96a375021940e7f /qpid/java
parentf8c03792d304e62acac9f4c2fc64c08490acdf98 (diff)
downloadqpid-python-aa5601da0b9c769559c6ed883da9f138f1505b4c.tar.gz
QPID-3857: Fix racing conditions on registering session in connection and sending session.attached command.
Applied patch from Oleksandr Rudyy <orudyy@gmail.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1291344 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java1
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java1
2 files changed, 1 insertions, 1 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
index 02c4ffa012..97d403213e 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
@@ -256,7 +256,6 @@ public class ServerConnectionDelegate extends ServerDelegate
if(isSessionNameUnique(atc.getName(), conn))
{
ssn = sessionAttachImpl(conn, atc);
- conn.registerSession(ssn);
((ServerConnection)conn).checkForNotification();
}
else
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
index d30e48ad85..be51a27da1 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
@@ -198,6 +198,7 @@ public class ServerDelegate extends ConnectionDelegate
{
Session ssn = getSession(conn, atc);
conn.map(ssn, atc.getChannel());
+ conn.registerSession(ssn);
ssn.sessionAttached(atc.getName());
ssn.setState(Session.State.OPEN);