1 #ifndef FWCore_Concurrency_WaitingTaskList_h 2 #define FWCore_Concurrency_WaitingTaskList_h 87 tbb::task*
execute()
override {
return nullptr;}
90 namespace waitingtask {
99 return std::unique_ptr<edm::EmptyWaitingTask, waitingtask::TaskDestroyer>(
new (tbb::task::allocate_root())
edm::EmptyWaitingTask{});
131 void doneWaiting(std::exception_ptr iPtr);
171 unsigned int m_nodeCacheSize;
172 std::atomic<
unsigned int> m_lastAssignedCacheIndex;
173 std::atomic<
bool> m_waiting;
tbb::task * execute() override
std::atomic< WaitNode * > m_head
std::atomic< WaitNode * > m_next
void operator()(tbb::task *iTask) const
std::unique_ptr< WaitNode[]> m_nodeCache
std::unique_ptr< edm::EmptyWaitingTask, waitingtask::TaskDestroyer > make_empty_waiting_task()
Create an EmptyWaitingTask which will properly be destroyed.
def createNode(xml_doc, node_name, values={}, parent=None)
#define CMS_THREAD_GUARD(_var_)
EmptyWaitingTask()=default
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
WaitNode * nextNode() const
friend class WaitingTaskList
void setNextNode(WaitNode *iNext)
void reset(double vett[256])