Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix crash from exception handling #19631

Merged
merged 2 commits into from Jul 9, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 0 additions & 7 deletions FWCore/Framework/interface/OutputModule.h
Expand Up @@ -195,11 +195,6 @@ namespace edm {
/// Tell the OutputModule that is must end the current file.
void doCloseFile();

/// Tell the OutputModule to open an output file, if one is not
/// already open.
void maybeOpenFile();


// Do the end-of-file tasks; this is only called internally, after
// the appropriate tests have been done.
virtual void reallyCloseFile();
Expand All @@ -226,8 +221,6 @@ namespace edm {

virtual bool isFileOpen() const { return true; }

virtual void reallyOpenFile() {}

void keepThisBranch(BranchDescription const& desc,
std::map<BranchID, BranchDescription const*>& trueBranchIDToKeptBranchDesc,
std::set<BranchID>& keptProductsInEvent);
Expand Down
3 changes: 0 additions & 3 deletions FWCore/Framework/interface/Schedule.h
Expand Up @@ -180,9 +180,6 @@ namespace edm {
// Call closeFile() on all OutputModules.
void closeOutputFiles();

// Call openNewFileIfNeeded() on all OutputModules
void openNewOutputFilesIfNeeded();

// Call openFiles() on all OutputModules
void openOutputFiles(FileBlock& fb);

Expand Down
7 changes: 0 additions & 7 deletions FWCore/Framework/interface/SubProcess.h
Expand Up @@ -133,13 +133,6 @@ namespace edm {
for_all(subProcesses_, [](auto& subProcess) { subProcess.closeOutputFiles(); });
}

// Call openNewFileIfNeeded() on all OutputModules
void openNewOutputFilesIfNeeded() {
ServiceRegistry::Operate operate(serviceToken_);
schedule_->openNewOutputFilesIfNeeded();
for_all(subProcesses_, [](auto& subProcess) { subProcess.openNewOutputFilesIfNeeded(); });
}

// Call openFiles() on all OutputModules
void openOutputFiles(FileBlock& fb) {
ServiceRegistry::Operate operate(serviceToken_);
Expand Down
5 changes: 0 additions & 5 deletions FWCore/Framework/interface/global/OutputModuleBase.h
Expand Up @@ -215,10 +215,6 @@ namespace edm {
/// Tell the OutputModule that is must end the current file.
void doCloseFile();

/// Tell the OutputModule to open an output file, if one is not
/// already open.
void maybeOpenFile();

void registerProductsAndCallbacks(OutputModuleBase const*, ProductRegistry const*) {}

bool prePrefetchSelection(StreamID id, EventPrincipal const&, ModuleCallingContext const*);
Expand All @@ -238,7 +234,6 @@ namespace edm {
virtual void writeRun(RunForOutput const&) = 0;
virtual void openFile(FileBlock const&) {}
virtual bool isFileOpen() const { return true; }
virtual void reallyOpenFile() {}

virtual void preallocStreams(unsigned int){}
virtual void doBeginStream_(StreamID){}
Expand Down
5 changes: 0 additions & 5 deletions FWCore/Framework/interface/one/OutputModuleBase.h
Expand Up @@ -209,10 +209,6 @@ namespace edm {
/// Tell the OutputModule that is must end the current file.
void doCloseFile();

/// Tell the OutputModule to open an output file, if one is not
/// already open.
void maybeOpenFile();

void registerProductsAndCallbacks(OutputModuleBase const*, ProductRegistry const*) {}

bool prePrefetchSelection(StreamID id, EventPrincipal const&, ModuleCallingContext const*);
Expand All @@ -234,7 +230,6 @@ namespace edm {
virtual void writeRun(RunForOutput const&) = 0;
virtual void openFile(FileBlock const&) {}
virtual bool isFileOpen() const { return true; }
virtual void reallyOpenFile() {}

virtual void doBeginRun_(RunForOutput const&){}
virtual void doEndRun_(RunForOutput const& ){}
Expand Down
4 changes: 0 additions & 4 deletions FWCore/Framework/src/OutputModule.cc
Expand Up @@ -341,10 +341,6 @@ namespace edm {
respondToCloseInputFile(fb);
}

void OutputModule::maybeOpenFile() {
if(!isFileOpen()) reallyOpenFile();
}

void OutputModule::doCloseFile() {
if(isFileOpen()) {
reallyCloseFile();
Expand Down
2 changes: 0 additions & 2 deletions FWCore/Framework/src/OutputModuleCommunicator.h
Expand Up @@ -45,8 +45,6 @@ namespace edm {
///\return true if output module wishes to close its file
virtual bool shouldWeCloseFile() const = 0;

virtual void openNewFileIfNeeded() = 0;

///\return true if no event filtering is applied to OutputModule
virtual bool wantAllEvents() const = 0;

Expand Down
6 changes: 0 additions & 6 deletions FWCore/Framework/src/OutputModuleCommunicatorT.cc
Expand Up @@ -26,12 +26,6 @@ namespace edm {
return module().shouldWeCloseFile();
}

template<typename T>
void
OutputModuleCommunicatorT<T>::openNewFileIfNeeded() {
module().maybeOpenFile();
}

template<typename T>
void
OutputModuleCommunicatorT<T>::openFile(edm::FileBlock const& fb) {
Expand Down
2 changes: 0 additions & 2 deletions FWCore/Framework/src/OutputModuleCommunicatorT.h
Expand Up @@ -34,8 +34,6 @@ namespace edm {
///\return true if output module wishes to close its file
virtual bool shouldWeCloseFile() const override;

virtual void openNewFileIfNeeded() override;

///\return true if no event filtering is applied to OutputModule
virtual bool wantAllEvents() const override;

Expand Down
5 changes: 0 additions & 5 deletions FWCore/Framework/src/Schedule.cc
Expand Up @@ -983,11 +983,6 @@ namespace edm {
for_all(all_output_communicators_, std::bind(&OutputModuleCommunicator::closeFile, _1));
}

void Schedule::openNewOutputFilesIfNeeded() {
using std::placeholders::_1;
for_all(all_output_communicators_, std::bind(&OutputModuleCommunicator::openNewFileIfNeeded, _1));
}

void Schedule::openOutputFiles(FileBlock& fb) {
using std::placeholders::_1;
for_all(all_output_communicators_, std::bind(&OutputModuleCommunicator::openFile, _1, std::cref(fb)));
Expand Down
2 changes: 1 addition & 1 deletion FWCore/Framework/src/TransitionProcessors.icc
Expand Up @@ -352,8 +352,8 @@ private:
iEP.openOutputFiles();
}

RunsInFileProcessor runs_;
std::unique_ptr<FileResources> filesOpen_;
RunsInFileProcessor runs_;
bool doNotMerge_;
};

4 changes: 0 additions & 4 deletions FWCore/Framework/src/global/OutputModuleBase.cc
Expand Up @@ -309,10 +309,6 @@ namespace edm {
doRespondToCloseInputFile_(fb);
}

void OutputModuleBase::maybeOpenFile() {
if(!isFileOpen()) reallyOpenFile();
}

void OutputModuleBase::doCloseFile() {
if(isFileOpen()) {
reallyCloseFile();
Expand Down
4 changes: 0 additions & 4 deletions FWCore/Framework/src/one/OutputModuleBase.cc
Expand Up @@ -317,10 +317,6 @@ namespace edm {
doRespondToCloseInputFile_(fb);
}

void OutputModuleBase::maybeOpenFile() {
if(!isFileOpen()) reallyOpenFile();
}

void OutputModuleBase::doCloseFile() {
if(isFileOpen()) {
reallyCloseFile();
Expand Down
2 changes: 1 addition & 1 deletion IOPool/Output/interface/PoolOutputModule.h
Expand Up @@ -140,7 +140,7 @@ namespace edm {
virtual void writeLuminosityBlock(LuminosityBlockForOutput const& lb) override;
virtual void writeRun(RunForOutput const& r) override;
virtual bool isFileOpen() const override;
virtual void reallyOpenFile() override;
void reallyOpenFile();
virtual void reallyCloseFile() override;
virtual void beginJob() override;

Expand Down