summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-22 17:46:45 -0700
committerSage Weil <sage@inktank.com>2013-09-04 13:01:03 -0700
commit1bd74a020b93f154b2d4129d512f6334387de7c7 (patch)
tree708c3c6e86e488d33c3bf04497c6d9721877bab1
parent24f2669783e2eb9d9af5ecbe106efed93366ba63 (diff)
downloadceph-1bd74a020b93f154b2d4129d512f6334387de7c7.tar.gz
mon/MonClient: release pending outgoing messages on shutdown
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)
-rw-r--r--src/mon/MonClient.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mon/MonClient.cc b/src/mon/MonClient.cc
index 299379ac249..38bead8f29f 100644
--- a/src/mon/MonClient.cc
+++ b/src/mon/MonClient.cc
@@ -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) {