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();