Files
concurrency-in-action/source/listing_4.11.cpp
2018-10-18 00:40:34 -05:00

19 lines
404 B
C++

#include <chrono>
#include <condition_variable>
#include <mutex>
std::condition_variable cv;
bool done;
std::mutex m;
bool
wait_loop()
{
auto const timeout =
std::chrono::steady_clock::now() + std::chrono::milliseconds(500);
std::unique_lock<std::mutex> lk(m);
while (!done) {
if (cv.wait_until(lk, timeout) == std::cv_status::timeout)
break;
}
return done;
}