From: Yan, Zheng Date: Sat, 27 Apr 2013 03:04:38 +0000 (+0800) Subject: mon: Fix leak of context X-Git-Tag: v0.61~54 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cea2ff86153b3193d2a6e320615e519ba41b1f3b;p=ceph.git mon: Fix leak of context Use Context::complete() to finish context, it frees the context after executing Context::finish(). Signed-off-by: Yan, Zheng --- diff --git a/src/mon/Paxos.cc b/src/mon/Paxos.cc index 21b9343f14cf..46eaf88273d6 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 8fcf66b25db9..ca467ce3db87 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; + } } }; /**