Author: robbie
Date: Mon Feb 20 16:17:39 2012
New Revision: 1291344

URL: http://svn.apache.org/viewvc?rev=1291344&view=rev
Log:
QPID-3857: Fix racing conditions on registering session in connection and 
sending session.attached command.

Applied patch from Oleksandr Rudyy <oru...@gmail.com>

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
    
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java?rev=1291344&r1=1291343&r2=1291344&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java
 Mon Feb 20 16:17:39 2012
@@ -256,7 +256,6 @@ public class ServerConnectionDelegate ex
         if(isSessionNameUnique(atc.getName(), conn))
         {
             ssn = sessionAttachImpl(conn, atc);
-            conn.registerSession(ssn);
             ((ServerConnection)conn).checkForNotification();
         }
         else

Modified: 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java?rev=1291344&r1=1291343&r2=1291344&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
 (original)
+++ 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
 Mon Feb 20 16:17:39 2012
@@ -198,6 +198,7 @@ public class ServerDelegate extends Conn
     {
         Session ssn = getSession(conn, atc);
         conn.map(ssn, atc.getChannel());
+        conn.registerSession(ssn);
         ssn.sessionAttached(atc.getName());
         ssn.setState(Session.State.OPEN);
 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to