]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/Pipe: discard delay queue before incoming queue
authorSage Weil <sage@redhat.com>
Wed, 29 Oct 2014 21:45:11 +0000 (14:45 -0700)
committerSage Weil <sage@redhat.com>
Wed, 29 Oct 2014 21:45:54 +0000 (14:45 -0700)
Shutdown the delayed delivery before the incoming queue in case the
DelayedDelivery thread is busy queuing messages.

Fixes: #9910
Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/msg/simple/Pipe.cc

index 4f386051811ad1cd82e2e7d7e88dc4eb8a61b118..efd5e4d1ed264867d959d8efd8df2cad642203bc 100644 (file)
@@ -1331,9 +1331,9 @@ void Pipe::fault(bool onread)
     unregister_pipe();
     msgr->lock.Unlock();
 
-    in_q->discard_queue(conn_id);
     if (delay_thread)
       delay_thread->discard();
+    in_q->discard_queue(conn_id);
     discard_out_queue();
 
     // disconnect from Connection, and mark it failed.  future messages