1 #ifndef FWCore_Concurrency_WaitingTaskList_h 2 #define FWCore_Concurrency_WaitingTaskList_h 90 namespace waitingtask {
97 return std::unique_ptr<edm::EmptyWaitingTask, waitingtask::TaskDestroyer>(
new (tbb::task::allocate_root())
118 void presetTaskAsFailed(std::exception_ptr iExcept);
135 void doneWaiting(std::exception_ptr iPtr);
170 unsigned int m_nodeCacheSize;
171 std::atomic<
unsigned int> m_lastAssignedCacheIndex;
172 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.
#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])