CMS 3D CMS Logo

LuminosityBlockProcessingStatus.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: FWCore/Framework
4 // Class : LuminosityBlockProcessingStatus
5 //
6 // Implementation:
7 // [Notes on implementation]
8 //
9 // Original Author: Chris Jones
10 // Created: Thu, 11 Jan 2018 16:41:46 GMT
11 //
12 
13 // system include files
14 
15 // user include files
18 
19 namespace edm {
21  endIOVWaitingTasks_.doneWaiting(std::exception_ptr{});
22  for (auto& iter : eventSetupImpls_) {
23  iter.reset();
24  }
26  run_.reset();
27  }
28 
30  if (2 != endTimeSetStatus_) {
31  //not already set
32  char expected = 0;
33  if (endTimeSetStatus_.compare_exchange_strong(expected, 1)) {
34  lumiPrincipal_->setEndTime(endTime_);
35  endTimeSetStatus_.store(2);
36  } else {
37  //wait until time is set
38  while (2 != endTimeSetStatus_.load()) {
39  }
40  }
41  }
42  }
43 } // namespace edm
edm::LuminosityBlockProcessingStatus::endTimeSetStatus_
std::atomic< char > endTimeSetStatus_
Definition: LuminosityBlockProcessingStatus.h:121
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::LuminosityBlockProcessingStatus::run_
std::shared_ptr< void > run_
Definition: LuminosityBlockProcessingStatus.h:112
edm::LuminosityBlockProcessingStatus::eventSetupImpls_
std::vector< std::shared_ptr< const EventSetupImpl > > eventSetupImpls_
Definition: LuminosityBlockProcessingStatus.h:115
edm::LuminosityBlockProcessingStatus::setEndTime
void setEndTime()
Definition: LuminosityBlockProcessingStatus.cc:29
edm::LuminosityBlockProcessingStatus::resetResources
void resetResources()
Definition: LuminosityBlockProcessingStatus.cc:20
edm::WaitingTaskList::doneWaiting
void doneWaiting(std::exception_ptr iPtr)
Signals that the resource is now available and tasks should be spawned.
Definition: WaitingTaskList.cc:212
LuminosityBlockProcessingStatus.h
edm::LuminosityBlockProcessingStatus::lumiPrincipal_
std::shared_ptr< LuminosityBlockPrincipal > lumiPrincipal_
Definition: LuminosityBlockProcessingStatus.h:114
edm::LuminosityBlockProcessingStatus::endIOVWaitingTasks_
WaitingTaskList endIOVWaitingTasks_
Definition: LuminosityBlockProcessingStatus.h:116
edm::LuminosityBlockProcessingStatus::endTime_
edm::Timestamp endTime_
Definition: LuminosityBlockProcessingStatus.h:120
LuminosityBlockPrincipal.h
edm::LuminosityBlockProcessingStatus::resumeGlobalLumiQueue
void resumeGlobalLumiQueue()
Definition: LuminosityBlockProcessingStatus.h:54