]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/Pipe: discard delay queue before incoming queue 4029/head
authorSage Weil <sage@redhat.com>
Wed, 29 Oct 2014 21:45:11 +0000 (14:45 -0700)
committerLoic Dachary <ldachary@redhat.com>
Tue, 17 Mar 2015 10:06:55 +0000 (11:06 +0100)
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>
(cherry picked from commit f7431cc3c25878057482007beb874c9d4473883e)

src/msg/Pipe.cc

index fc16f459b48729607975e960afc08ec2c7c4f613..fb880f7fdee4d2d7da7d83c7b7ebf659cc786a9d 100644 (file)
@@ -1337,9 +1337,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