From c895e3bf2e808eb873dcac3474b30003de66ac50 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 15 Oct 2018 10:26:31 -0500 Subject: [PATCH] common/condition_variable_debug: fix wait hooks The post_lock hook needs to be called even with the cond times out, because the lock is still locked at that point. Signed-off-by: Sage Weil --- src/common/condition_variable_debug.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/condition_variable_debug.cc b/src/common/condition_variable_debug.cc index ae5b7d25134..a2ddd7691a7 100644 --- a/src/common/condition_variable_debug.cc +++ b/src/common/condition_variable_debug.cc @@ -63,9 +63,9 @@ std::cv_status condition_variable_debug::_wait_until(mutex_debug* mutex, waiter_mutex->_pre_unlock(); int r = pthread_cond_timedwait(&cond, waiter_mutex->native_handle(), ts); + waiter_mutex->_post_lock(); switch (r) { case 0: - waiter_mutex->_post_lock(); return std::cv_status::no_timeout; case ETIMEDOUT: return std::cv_status::timeout; -- 2.39.5