From fe7f427c00220bb83fbb2ecad7e5a8a7969b682b Mon Sep 17 00:00:00 2001 From: Sergey Yershov Date: Wed, 9 Mar 2016 15:30:48 +0300 Subject: [PATCH] Review fix --- base/deferred_task.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/base/deferred_task.cpp b/base/deferred_task.cpp index a3755dbab4..ccb9edd322 100644 --- a/base/deferred_task.cpp +++ b/base/deferred_task.cpp @@ -15,18 +15,15 @@ DeferredTask::DeferredTask(TDuration const & duration) : m_duration(duration) continue; } - if (m_cv.wait_for(l, m_duration) != cv_status::timeout) + if (m_cv.wait_for(l, m_duration) != cv_status::timeout || !m_fn) continue; auto fn = move(m_fn); m_fn = nullptr; - if (fn) - { - l.unlock(); - fn(); - l.lock(); - } + l.unlock(); + fn(); + l.lock(); } }); }