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 
15 
16 namespace edm {
18  endIOVWaitingTasks_.doneWaiting(std::exception_ptr{});
19  for (auto& iter : eventSetupImpls_) {
20  iter.reset();
21  }
23  }
24 
27  }
28 
30  constexpr char kUnset = 0;
31  constexpr char kSetting = 1;
32  constexpr char kSet = 2;
33 
34  if (endTimeSetStatus_ != kSet) {
35  //not already set
36  char expected = kUnset;
37  if (endTimeSetStatus_.compare_exchange_strong(expected, kSetting)) {
38  lumiPrincipal_->setEndTime(endTime_);
39  endTimeSetStatus_.store(kSet);
40  } else {
41  //wait until time is set
42  while (endTimeSetStatus_.load() != kSet) {
43  }
44  }
45  }
46  }
47 } // namespace edm
const char * kSet
void doneWaiting(std::exception_ptr iPtr)
Signals that the resource is now available and tasks should be spawned.
std::shared_ptr< LuminosityBlockPrincipal > lumiPrincipal_
std::vector< std::shared_ptr< const EventSetupImpl > > eventSetupImpls_
HLT enums.
def move(src, dest)
Definition: eostools.py:511