From dc1126e762e8ee53353e193d3bb8bbfb0b655538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= Date: Mon, 27 Jan 2025 21:57:23 +0000 Subject: [PATCH] Fix threadpool for c++14. --- Eigen/src/ThreadPool/NonBlockingThreadPool.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Eigen/src/ThreadPool/NonBlockingThreadPool.h b/Eigen/src/ThreadPool/NonBlockingThreadPool.h index c05326ca2..65a222c74 100644 --- a/Eigen/src/ThreadPool/NonBlockingThreadPool.h +++ b/Eigen/src/ThreadPool/NonBlockingThreadPool.h @@ -153,7 +153,8 @@ class ThreadPoolTempl : public Eigen::ThreadPoolInterface { void MaybeGetTask(Task* t) { PerThread* pt = GetPerThread(); Queue& q = thread_data_[pt->thread_id].queue; - if (*t = q.PopFront(); t->f) return; + *t = q.PopFront(); + if (t->f != nullptr) return; if (num_threads_ == 1) { // For num_threads_ == 1 there is no point in going through the expensive // steal loop. Moreover, since NonEmptyQueueIndex() calls PopBack() on the