From: Jason Dillaman Date: Tue, 1 Sep 2015 00:31:14 +0000 (-0400) Subject: journal: FutureImpl shouldn't hold lock while invoking callbacks X-Git-Tag: v10.0.1~102^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ea4971cec8a489e480cb0055a50f6db4ca056783;p=ceph.git journal: FutureImpl shouldn't hold lock while invoking callbacks Signed-off-by: Jason Dillaman --- diff --git a/src/journal/FutureImpl.cc b/src/journal/FutureImpl.cc index 59494a17f449..83657330b9f4 100644 --- a/src/journal/FutureImpl.cc +++ b/src/journal/FutureImpl.cc @@ -124,10 +124,13 @@ void FutureImpl::finish() { Contexts contexts; contexts.swap(m_contexts); + + m_lock.Unlock(); for (Contexts::iterator it = contexts.begin(); it != contexts.end(); ++it) { (*it)->complete(m_return_value); } + m_lock.Lock(); } std::ostream &operator<<(std::ostream &os, const FutureImpl &future) {