diff --git a/Eigen/src/Core/products/Parallelizer.h b/Eigen/src/Core/products/Parallelizer.h index 018efa64b..8f7b7dd0a 100644 --- a/Eigen/src/Core/products/Parallelizer.h +++ b/Eigen/src/Core/products/Parallelizer.h @@ -153,7 +153,14 @@ inline void manage_multi_threading(Action action, int* v) { #endif } else if (action == GetAction) { eigen_internal_assert(v != nullptr); +#if defined(EIGEN_HAS_OPENMP) + if (m_maxThreads > 0) + *v = m_maxThreads; + else + *v = omp_get_max_threads(); +#else *v = m_maxThreads; +#endif } else { eigen_internal_assert(false); }