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:15 UTC

svn commit: r995135 - /qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp

Author: astitcher
Date: Wed Sep  8 16:49:14 2010
New Revision: 995135

URL: http://svn.apache.org/viewvc?rev=995135&view=rev
Log:
Reorder some code for improved intellegibility

Modified:
    qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp

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=995135&r1=995134&r2=995135&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:14 2010
@@ -94,14 +94,11 @@ namespace Rdma {
         //qpid::sys::ScopedLock<qpid::sys::Mutex> l(stateLock);
         do {
             newState = oldState = state.get();
-            doReturn = false;
-            if (oldState != IDLE && oldState != DRAINED) {
-                doReturn = true;
-                break;
+            doReturn = true;
+            if (oldState == IDLE || oldState == DRAINED) {
+                doReturn = false;
+                newState = SHUTDOWN;
             }
-
-            newState = SHUTDOWN;
-
         } while (!state.boolCompareAndSwap(oldState, newState));
         
         // Ensure we can't get any more callbacks (except for the stopped callback)
@@ -125,14 +122,12 @@ namespace Rdma {
         //qpid::sys::ScopedLock<qpid::sys::Mutex> l(stateLock);
         do {
             newState = oldState = state.get();
-            doReturn = false;
-            if (oldState != IDLE)  {
-                doReturn = true;
-                break;
-            }
-
-            if (outstandingWrites == 0) {
-                newState = DRAINED;
+            doReturn = true;
+            if (oldState == IDLE)  {
+                doReturn = false;
+                if (outstandingWrites == 0) {
+                    newState = DRAINED;
+                }
             }
         } while (!state.boolCompareAndSwap(oldState, newState));
         if (doReturn) {



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