You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2011/08/08 16:56:43 UTC

svn commit: r1154981 - in /qpid/branches/0.12/qpid/cpp/src/qpid/broker: ./ SessionState.cpp SessionState.h

Author: kgiusti
Date: Mon Aug  8 14:56:43 2011
New Revision: 1154981

URL: http://svn.apache.org/viewvc?rev=1154981&view=rev
Log:
QPID-3394: merge fix from trunk

Modified:
    qpid/branches/0.12/qpid/cpp/src/qpid/broker/   (props changed)
    qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.cpp
    qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.h

Propchange: qpid/branches/0.12/qpid/cpp/src/qpid/broker/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug  8 14:56:43 2011
@@ -0,0 +1,6 @@
+/qpid/branches/0.5.x-dev/qpid/cpp/src/qpid/broker:892761,894875
+/qpid/branches/0.6-release-windows-installer/cpp/src/qpid/broker:926803
+/qpid/branches/0.6-release-windows-installer/qpid/cpp/src/qpid/broker:926803,927233
+/qpid/branches/java-network-refactor/qpid/cpp/src/qpid/broker:805429-825319
+/qpid/branches/qpid-2935/qpid/cpp/src/qpid/broker:1061302-1072333
+/qpid/trunk/qpid/cpp/src/qpid/broker:1141644,1146598,1153966

Modified: qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.cpp?rev=1154981&r1=1154980&r2=1154981&view=diff
==============================================================================
--- qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.cpp (original)
+++ qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.cpp Mon Aug  8 14:56:43 2011
@@ -445,8 +445,6 @@ void SessionState::addPendingExecutionSy
 boost::intrusive_ptr<AsyncCompletion::Callback>
 SessionState::IncompleteIngressMsgXfer::clone()
 {
-    boost::intrusive_ptr<SessionState::IncompleteIngressMsgXfer> cb(new SessionState::IncompleteIngressMsgXfer(session, msg));
-
     // Optimization: this routine is *only* invoked when the message needs to be asynchronously completed.
     // If the client is pending the message.transfer completion, flush now to force immediate write to journal.
     if (requiresSync)
@@ -457,7 +455,8 @@ SessionState::IncompleteIngressMsgXfer::
         pending = true;
         completerContext->addPendingMessage(msg);
     }
-    return cb;
+
+    return boost::intrusive_ptr<SessionState::IncompleteIngressMsgXfer>(new SessionState::IncompleteIngressMsgXfer(*this));
 }
 
 

Modified: qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.h
URL: http://svn.apache.org/viewvc/qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.h?rev=1154981&r1=1154980&r2=1154981&view=diff
==============================================================================
--- qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.h (original)
+++ qpid/branches/0.12/qpid/cpp/src/qpid/broker/SessionState.h Mon Aug  8 14:56:43 2011
@@ -256,7 +256,15 @@ class SessionState : public qpid::Sessio
           requiresAccept(m->requiresAccept()),
           requiresSync(m->getFrames().getMethod()->isSync()),
           pending(false) {}
-        virtual ~IncompleteIngressMsgXfer() {};
+        IncompleteIngressMsgXfer( const IncompleteIngressMsgXfer& x )
+          : AsyncCommandContext(x.session, x.msg->getCommandId()),
+          session(x.session),
+          msg(x.msg),
+          requiresAccept(x.requiresAccept),
+          requiresSync(x.requiresSync),
+          pending(x.pending) {}
+
+  virtual ~IncompleteIngressMsgXfer() {};
 
         virtual void completed(bool);
         virtual boost::intrusive_ptr<AsyncCompletion::Callback> clone();



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