55#include " FWCore/Framework/interface/ExceptionHelpers.h"
66#include " FWCore/Framework/interface/PreallocationConfiguration.h"
77#include " FWCore/Framework/interface/TransitionInfoTypes.h"
8+ #include " FWCore/Framework/interface/SignallingProductRegistryFiller.h"
9+ #include " FWCore/Framework/interface/ModuleRegistry.h"
810#include " FWCore/ParameterSet/interface/ParameterSet.h"
911#include " FWCore/Utilities/interface/StreamID.h"
10- #include " FWCore/Framework /interface/SignallingProductRegistryFiller .h"
12+ #include " FWCore/ServiceRegistry /interface/ProcessContext .h"
1113#include " oneapi/tbb/task_arena.h"
1214
1315#include < mutex>
@@ -55,8 +57,9 @@ namespace edm {
5557 SignallingProductRegistryFiller& preg,
5658 std::shared_ptr<ProcessConfiguration> processConfiguration)
5759 : exceptionToActionTable_(new ExceptionToActionTable),
60+ moduleRegistry_ (std::make_shared<ModuleRegistry>(nullptr )),
5861 // no type resolver for modules in SecondaryEventProvider for now
59- workerManager_ (std::make_shared<ActivityRegistry>(), *exceptionToActionTable_, nullptr ) {
62+ workerManager_(moduleRegistry_, std::make_shared<ActivityRegistry>(), *exceptionToActionTable_) {
6063 std::vector<std::string> shouldBeUsedLabels;
6164 std::set<std::string> unscheduledLabels;
6265 const PreallocationConfiguration preallocConfig;
@@ -74,7 +77,11 @@ namespace edm {
7477 eventsetup::ESRecordsToProductResolverIndices const & iIndices,
7578 GlobalContext const & globalContext) {
7679 ProcessBlockHelper dummyProcessBlockHelper;
77- workerManager_.beginJob (iRegistry, iIndices, dummyProcessBlockHelper, globalContext);
80+ moduleRegistry_->finishModulesInitialization (iRegistry,
81+ iIndices,
82+ dummyProcessBlockHelper,
83+ globalContext.processContext ()->processConfiguration ()->processName ());
84+ workerManager_.beginJob (globalContext);
7885 }
7986
8087 // NOTE: When the Stream interfaces are propagated to the modules, this code must be updated
0 commit comments