From e8ca09b1646c496d3c6f724cd59748236897a67c Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Thu, 19 Jul 2018 13:54:12 -0700 Subject: [PATCH] common: check completion condition before waiting Fixes: http://tracker.ceph.com/issues/25007 Signed-off-by: Patrick Donnelly (cherry picked from commit 7090ea24dd5d5538585a690e7cee268f32328c26) --- src/common/Cond.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/common/Cond.h b/src/common/Cond.h index 524f23cb603f0..14842e3992ed8 100644 --- a/src/common/Cond.h +++ b/src/common/Cond.h @@ -201,6 +201,9 @@ public: utime_t interval; interval.set_from_double(secs); Mutex::Locker l{lock}; + if (done) { + return rval; + } cond.WaitInterval(lock, interval); return done ? rval : ETIMEDOUT; } -- 2.39.5