diff options
Diffstat (limited to 'src/mongo/util/background.cpp')
-rw-r--r-- | src/mongo/util/background.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mongo/util/background.cpp b/src/mongo/util/background.cpp index 11eab0e06d1..bc6c293b1bb 100644 --- a/src/mongo/util/background.cpp +++ b/src/mongo/util/background.cpp @@ -200,11 +200,12 @@ Status BackgroundJob::cancel() { bool BackgroundJob::wait(unsigned msTimeOut) { verify(!_selfDelete); // you cannot call wait on a self-deleting job - const auto deadline = stdx::chrono::system_clock::now() + Milliseconds(msTimeOut); + const auto deadline = Date_t::now() + Milliseconds(msTimeOut); stdx::unique_lock<stdx::mutex> l(_status->mutex); while (_status->state != Done) { if (msTimeOut) { - if (stdx::cv_status::timeout == _status->done.wait_until(l, deadline)) + if (stdx::cv_status::timeout == + _status->done.wait_until(l, deadline.toSystemTimePoint())) return false; } else { _status->done.wait(l); @@ -308,7 +309,7 @@ void PeriodicTaskRunner::run() { stdx::unique_lock<stdx::mutex> lock(_mutex); while (!_shutdownRequested) { - if (stdx::cv_status::timeout == _cond.wait_for(lock, waitTime)) + if (stdx::cv_status::timeout == _cond.wait_for(lock, waitTime.toSystemDuration())) _runTasks(); } } |