Merge "ultrahdr: signal all threads that no further jobs will be queued" into udc-dev
diff --git a/libs/ultrahdr/jpegr.cpp b/libs/ultrahdr/jpegr.cpp
index 0f7aa27..ef927e3 100644
--- a/libs/ultrahdr/jpegr.cpp
+++ b/libs/ultrahdr/jpegr.cpp
@@ -534,7 +534,7 @@
if (mQueuedAllJobs) {
return false;
} else {
- mCv.wait(lock);
+ mCv.wait_for(lock, std::chrono::milliseconds(100));
}
} else {
auto it = mJobs.begin();
@@ -557,6 +557,8 @@
void JobQueue::markQueueForEnd() {
std::unique_lock<std::mutex> lock{mMutex};
mQueuedAllJobs = true;
+ lock.unlock();
+ mCv.notify_all();
}
void JobQueue::reset() {