diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2013-04-27 11:04:38 +0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-04-28 21:15:25 -0700 |
commit | cea2ff86153b3193d2a6e320615e519ba41b1f3b (patch) | |
tree | d931df62a6a6ca1927382891878083f6a4688876 | |
parent | 20d99c4a5aa3147fe464aa4d75b7c8e8710030ad (diff) | |
download | ceph-cea2ff86153b3193d2a6e320615e519ba41b1f3b.tar.gz |
mon: Fix leak of context
Use Context::complete() to finish context, it frees the context
after executing Context::finish().
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
-rw-r--r-- | src/mon/Paxos.cc | 2 | ||||
-rw-r--r-- | 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; + } } }; /** |