]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: clean up Subsription xlists
authorSage Weil <sage@inktank.com>
Sat, 17 Nov 2012 22:21:07 +0000 (14:21 -0800)
committerSage Weil <sage@inktank.com>
Sun, 18 Nov 2012 16:29:00 +0000 (08:29 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/Session.h

index 685fc8e8fac4b53886670e4d31f87f041a4ee7ea..edf5d66ef6fa7b7baf3ff02b099ca7d13f0c432f 100644 (file)
@@ -80,6 +80,15 @@ struct MonSessionMap {
   map<string, xlist<Subscription*>* > subs;
   multimap<int, MonSession*> by_osd;
 
+  MonSessionMap() {}
+  ~MonSessionMap() {
+    while (!subs.empty()) {
+      assert(subs.begin()->second->empty());
+      delete subs.begin()->second;
+      subs.erase(subs.begin());
+    }
+  }
+
   void remove_session(MonSession *s) {
     assert(!s->closed);
     for (map<string,Subscription*>::iterator p = s->sub_map.begin(); p != s->sub_map.end(); ++p) {