]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async: hold lock avoid state changing
authorHaomai Wang <haomai@xsky.com>
Sun, 3 Jul 2016 15:11:35 +0000 (23:11 +0800)
committerHaomai Wang <haomai@xsky.com>
Tue, 12 Jul 2016 15:51:27 +0000 (23:51 +0800)
Fixes: http://tracker.ceph.com/issues/16554
Signed-off-by: Haomai Wang <haomai@xsky.com>
src/msg/async/AsyncConnection.h

index 29854e41144959ea885dfd572501166972ca90ec..5d81afc8264bf9f0afa029d0aede47d939c03c59 100644 (file)
@@ -395,8 +395,8 @@ class AsyncConnection : public Connection {
   void stop(bool queue_reset) {
     lock.Lock();
     bool need_queue_reset = (state != STATE_CLOSED) && queue_reset;
+    _stop();
     lock.Unlock();
-    mark_down();
     if (need_queue_reset)
       dispatch_queue->queue_reset(this);
   }