You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2010/09/08 18:49:11 UTC
svn commit: r995134 - in /qpid/trunk/qpid/cpp/src/qpid:
client/RdmaConnector.cpp sys/rdma/RdmaIO.cpp
Author: astitcher
Date: Wed Sep 8 16:49:11 2010
New Revision: 995134
URL: http://svn.apache.org/viewvc?rev=995134&view=rev
Log:
Remove write after frees in Rdma::AsynchIO and qpid::client::RdmaConnector
Modified:
qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp
qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp?rev=995134&r1=995133&r2=995134&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp Wed Sep 8 16:49:11 2010
@@ -277,8 +277,9 @@ void RdmaConnector::drained() {
QPID_LOG(debug, "RdmaConnector::drained " << identifier);
assert(!polling);
if (aio) {
- aio->stop(boost::bind(&RdmaConnector::stopped, this, aio));
+ Rdma::AsynchIO* a = aio;
aio = 0;
+ a->stop(boost::bind(&RdmaConnector::stopped, this, a));
}
}
Modified: qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp?rev=995134&r1=995133&r2=995134&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp Wed Sep 8 16:49:11 2010
@@ -327,10 +327,11 @@ namespace Rdma {
}
// If we've got all the write confirmations and we're draining
+ // We might get deleted in the drained callback so return immediately
if (draining) {
if (outstandingWrites == 0) {
- doDrainedCallback();
draining = false;
+ doDrainedCallback();
}
return;
}
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org