From 3beb180ee5ef1d3387999ad270a2e2677ad0e814 Mon Sep 17 00:00:00 2001 From: Benoit Steiner Date: Wed, 14 Dec 2016 18:33:39 -0800 Subject: Don't call EnvThread::OnCancel by default since it doesn't do anything. --- unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h | 2 ++ unsupported/Eigen/CXX11/src/ThreadPool/SimpleThreadPool.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'unsupported/Eigen/CXX11/src/ThreadPool') diff --git a/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h b/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h index 0e6a0bf8f..ed1a761b6 100644 --- a/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +++ b/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h @@ -114,9 +114,11 @@ class NonBlockingThreadPoolTempl : public Eigen::ThreadPoolInterface { done_ = true; // Let each thread know it's been cancelled. +#ifdef EIGEN_THREAD_ENV_SUPPORTS_CANCELLATION for (size_t i = 0; i < threads_.size(); i++) { threads_[i]->OnCancel(); } +#endif // Wake up the threads without work to let them exit on their own. ec_.Notify(true); diff --git a/unsupported/Eigen/CXX11/src/ThreadPool/SimpleThreadPool.h b/unsupported/Eigen/CXX11/src/ThreadPool/SimpleThreadPool.h index fb08deb20..335728665 100644 --- a/unsupported/Eigen/CXX11/src/ThreadPool/SimpleThreadPool.h +++ b/unsupported/Eigen/CXX11/src/ThreadPool/SimpleThreadPool.h @@ -70,9 +70,11 @@ class SimpleThreadPoolTempl : public ThreadPoolInterface { } void Cancel() { +#ifdef EIGEN_THREAD_ENV_SUPPORTS_CANCELLATION for (size_t i = 0; i < threads_.size(); i++) { threads_[i]->OnCancel(); } +#endif } int NumThreads() const final { -- cgit v1.2.3