/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FWCore/Framework/src/SynchronousEventSetupsController.cc
44 строки
1 KB
Christopher Jones
Use tbb::task_group::defer in FinalWaitingTask
13 июл 2022, 23:52
13 июл 2022, 23:52
5de7db4
Код
Авторство
О чём код?
// -*- C++ -*- // // Package: Framework // Class : SynchronousEventSetupsController // // Implementation: // [Notes on implementation] // // Original Author: Chris Jones, W. David Dagenhart // Created: Wed Jan 12 14:30:44 CST 2011 // #include "FWCore/Framework/src/SynchronousEventSetupsController.h" #include "FWCore/Concurrency/interface/WaitingTaskHolder.h" #include "FWCore/Concurrency/interface/FinalWaitingTask.h" #include <algorithm> #include <iostream> #include <set> namespace edm { namespace eventsetup { SynchronousEventSetupsController::SynchronousEventSetupsController() : globalControl_(oneapi::tbb::global_control::max_allowed_parallelism, 1) {} SynchronousEventSetupsController::~SynchronousEventSetupsController() { FinalWaitingTask finalTask{taskGroup_}; controller_.endIOVsAsync(edm::WaitingTaskHolder(taskGroup_, &finalTask)); finalTask.waitNoThrow(); } std::shared_ptr<EventSetupProvider> SynchronousEventSetupsController::makeProvider( ParameterSet& iPSet, ActivityRegistry* activityRegistry, ParameterSet const* eventSetupPset) { return controller_.makeProvider(iPSet, activityRegistry, eventSetupPset); } void SynchronousEventSetupsController::eventSetupForInstance(IOVSyncValue const& syncValue) { synchronousEventSetupForInstance(syncValue, taskGroup_, controller_); } } // namespace eventsetup } // namespace edm