|
|
@ -68,12 +68,6 @@ FeedFetchList AsyncSSAGraphExecutor::Run(
|
|
|
|
|
|
|
|
|
|
|
|
if (pool_) {
|
|
|
|
if (pool_) {
|
|
|
|
run_futures.emplace_back(pool_->enqueue(std::move(call)));
|
|
|
|
run_futures.emplace_back(pool_->enqueue(std::move(call)));
|
|
|
|
} else {
|
|
|
|
|
|
|
|
fetch_data.emplace_back(std::move(call()));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (pool_) {
|
|
|
|
|
|
|
|
for (auto &f : run_futures) {
|
|
|
|
for (auto &f : run_futures) {
|
|
|
|
if (exception_holder_.IsCaught()) {
|
|
|
|
if (exception_holder_.IsCaught()) {
|
|
|
|
f.wait();
|
|
|
|
f.wait();
|
|
|
@ -81,7 +75,11 @@ FeedFetchList AsyncSSAGraphExecutor::Run(
|
|
|
|
fetch_data.emplace_back(std::move(f.get()));
|
|
|
|
fetch_data.emplace_back(std::move(f.get()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
fetch_data.emplace_back(std::move(call()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (exception_holder_.IsCaught()) {
|
|
|
|
if (exception_holder_.IsCaught()) {
|
|
|
|
exception_holder_.ReThrow();
|
|
|
|
exception_holder_.ReThrow();
|
|
|
|
}
|
|
|
|
}
|
|
|
|