1 #ifndef FWCore_Framework_globalTransitionAsync_h
2 #define FWCore_Framework_globalTransitionAsync_h
37 class LuminosityBlockPrincipal;
46 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls) {
55 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls) {
64 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls,
65 bool cleaningUpAfterException) {
67 std::move(iHolder), iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
75 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls,
76 bool cleaningUpAfterException) {
77 iSubProcess.
doEndRunAsync(
std::move(iHolder), iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
80 template <
typename Traits,
typename P,
typename SC>
87 std::vector<std::shared_ptr<const EventSetupImpl>>
const*
94 tbb::task::allocate_root(),
95 [&iSubProcesses, iWait, &iPrincipal, iTS, iEventSetupImpls](std::exception_ptr
const* iPtr)
mutable {
100 [iWait, excpt](std::exception_ptr
const*)
mutable { iWait.
doneWaiting(excpt); });
102 for (
auto& subProcess : iSubProcesses) {
106 for (
auto& subProcess : iSubProcesses) {
116 template <
typename Traits,
typename P,
typename SC>
122 std::vector<std::shared_ptr<const EventSetupImpl>>
const*
126 bool cleaningUpAfterException) {
131 [&iSubProcesses, iWait, &iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException](
132 std::exception_ptr
const* iPtr)
mutable {
136 tbb::task::allocate_root(),
137 [iWait, excpt](std::exception_ptr
const*)
mutable { iWait.
doneWaiting(excpt); });
139 for (
auto& subProcess : iSubProcesses) {
141 h, subProcess, iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
144 for (
auto& subProcess : iSubProcesses) {
146 iWait, subProcess, iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);