]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: fix message discard on shutdown
authorSage Weil <sage@newdream.net>
Sun, 19 Feb 2012 20:44:58 +0000 (12:44 -0800)
committerSage Weil <sage@newdream.net>
Sun, 19 Feb 2012 20:44:58 +0000 (12:44 -0800)
Return true, so the messenger is happy, and drop the message reference.

Avoids an assert like

2012-02-19T12:36:05.102 INFO:teuthology.task.ceph.mon.2.err:ms_deliver_dispatch: fatal error: unhandled message 0x1b7b280 paxos(auth lease_ack lc 8 fc 1 pn 0 opn 0) v1 from mon.2 10.3.14.197:6789/0msg/Messenger.h: In function 'void Messenger::ms_deliver_dispatch(Message*)' thread 7fd7fe360700 time 2012-02-19 12:36:05.094713
2012-02-19T12:36:05.102 INFO:teuthology.task.ceph.mon.2.err:msg/Messenger.h: 143: FAILED assert(0)

Signed-off-by: Sage Weil <sage@newdream.net>
src/mon/Monitor.cc

index 28b1ad23366e404f337132559604ee26cee47761..f445ab95579c676dca3ebce04ada4358d97cdc80 100644 (file)
@@ -1338,8 +1338,10 @@ bool Monitor::_ms_dispatch(Message *m)
 {
   bool ret = true;
 
-  if (state == STATE_SHUTDOWN)
-    return false;
+  if (state == STATE_SHUTDOWN) {
+    m->put();
+    return true;
+  }
 
   Connection *connection = m->get_connection();
   MonSession *s = NULL;