You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2007/08/16 09:46:19 UTC

svn commit: r566527 - /incubator/qpid/trunk/qpid/cpp/src/qpid/client/ClientChannel.cpp

Author: gsim
Date: Thu Aug 16 00:46:18 2007
New Revision: 566527

URL: http://svn.apache.org/viewvc?view=rev&rev=566527
Log:
Bug fix for client shutdown.


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/ClientChannel.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/ClientChannel.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/ClientChannel.cpp?view=diff&rev=566527&r1=566526&r2=566527
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/ClientChannel.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/ClientChannel.cpp Thu Aug 16 00:46:18 2007
@@ -137,21 +137,6 @@
     session->txRollback();
 }
 
-void Channel::close()
-{
-    session->close();
-    {
-        Mutex::ScopedLock l(lock);
-        if (connection);
-        {
-            session.reset();
-            sessionCore.reset();
-            connection.reset();
-        }
-    }
-    stop();
-}
-
 void Channel::consume(
     Queue& queue, const std::string& tag, MessageListener* listener, 
     AckMode ackMode, bool noLocal, bool synch, const FieldTable* fields) {
@@ -209,6 +194,20 @@
     string key = routingKey;
 
     session->basicPublish(0, e, key, mandatory, immediate, msg);
+}
+
+void Channel::close()
+{
+    session->close();
+    {
+        Mutex::ScopedLock l(lock);
+        if (connection);
+        {
+            sessionCore.reset();
+            connection.reset();
+        }
+    }
+    stop();
 }
 
 void Channel::start(){