From cea2ff86153b3193d2a6e320615e519ba41b1f3b Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Sat, 27 Apr 2013 11:04:38 +0800 Subject: [PATCH] mon: Fix leak of context Use Context::complete() to finish context, it frees the context after executing Context::finish(). Signed-off-by: Yan, Zheng --- src/mon/Paxos.cc | 2 +- src/mon/Paxos.h | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mon/Paxos.cc b/src/mon/Paxos.cc index 21b9343f14c..46eaf88273d 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 8fcf66b25db..ca467ce3db8 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; + } } }; /** -- 2.47.3