No public description PiperOrigin-RevId: 745656995 Change-Id: I6295a54f9eb6faa70a16fdcaa83771a94a7fab23
diff --git a/Eigen/src/ThreadPool/ForkJoin.h b/Eigen/src/ThreadPool/ForkJoin.h index 44eefaf..588636a 100644 --- a/Eigen/src/ThreadPool/ForkJoin.h +++ b/Eigen/src/ThreadPool/ForkJoin.h
@@ -92,6 +92,7 @@ // Schedules `right_thunk`, runs `left_thunk`, and runs other tasks until `right_thunk` has finished. template <typename LeftType, typename RightType, typename ThreadPoolEnv> static void ForkJoin(LeftType&& left_thunk, RightType&& right_thunk, ThreadPoolTempl<ThreadPoolEnv>* thread_pool) { + typedef typename ThreadPoolTempl<ThreadPoolEnv>::Task Task; std::atomic<bool> right_done(false); auto execute_right = [&right_thunk, &right_done]() { std::forward<RightType>(right_thunk)(); @@ -99,7 +100,7 @@ }; thread_pool->Schedule(execute_right); std::forward<LeftType>(left_thunk)(); - ThreadPool::Task task; + Task task; while (!right_done.load(std::memory_order_acquire)) { thread_pool->MaybeGetTask(&task); if (task.f) task.f();