diff mbox

mon: Fix leak of context

Message ID 1367031878-7078-1-git-send-email-zheng.z.yan@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Yan, Zheng April 27, 2013, 3:04 a.m. UTC
From: "Yan, Zheng" <zheng.z.yan@intel.com>

Use Context::complete() to finish context, it frees the context
after executing Context::finish().

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
---
 src/mon/Paxos.cc | 2 +-
 src/mon/Paxos.h  | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/src/mon/Paxos.cc b/src/mon/Paxos.cc
index 21b9343..46eaf88 100644
--- a/src/mon/Paxos.cc
+++ b/src/mon/Paxos.cc
@@ -805,7 +805,7 @@  void Paxos::finish_queued_proposal()
 	     << " to finish" << dendl;
 
     proposals.pop_front();
-    proposal->finish(0);
+    proposal->complete(0);
   }
 }
 
diff --git a/src/mon/Paxos.h b/src/mon/Paxos.h
index 8fcf66b..ca467ce 100644
--- a/src/mon/Paxos.h
+++ b/src/mon/Paxos.h
@@ -642,8 +642,10 @@  public:
       { }
 
     void finish(int r) {
-      if (proposer_context)
-        proposer_context->finish(r);
+      if (proposer_context) {
+	proposer_context->complete(r);
+	proposer_context = NULL;
+      }
     }
   };
   /**