]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MonClient: release pending outgoing messages on shutdown
authorSage Weil <sage@inktank.com>
Fri, 23 Aug 2013 00:46:45 +0000 (17:46 -0700)
committerSage Weil <sage@inktank.com>
Wed, 4 Sep 2013 20:01:03 +0000 (13:01 -0700)
This fixes a small memory leak when we have messages queued for the mon
when we shut down.  It is harmless except for the valgrind leak check
noise that obscures real leaks.

Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 309569a6d0b7df263654b7f3f15b910a72f2918d)

src/mon/MonClient.cc

index 299379ac2499e91f725c3d8bb0b2c40c60ed46be..38bead8f29fb8c3f591881dd3fab7718a4d99402 100644 (file)
@@ -328,6 +328,12 @@ void MonClient::shutdown()
     version_requests.erase(version_requests.begin());
   }
 
+  while (!waiting_for_session.empty()) {
+    ldout(cct, 20) << __func__ << " discarding pending message " << *waiting_for_session.front() << dendl;
+    waiting_for_session.front()->put();
+    waiting_for_session.pop_front();
+  }
+
   monc_lock.Unlock();
 
   if (initialized) {