#include <WaitingTaskWithArenaHolder.h>
Public Member Functions | |
void | doneWaiting (std::exception_ptr iExcept) |
WaitingTaskHolder | makeWaitingTaskHolderAndRelease () |
WaitingTaskWithArenaHolder & | operator= (const WaitingTaskWithArenaHolder &iRHS) |
WaitingTaskWithArenaHolder & | operator= (WaitingTaskWithArenaHolder &&iRHS) |
WaitingTaskWithArenaHolder () | |
WaitingTaskWithArenaHolder (WaitingTask *iTask) | |
WaitingTaskWithArenaHolder (WaitingTaskWithArenaHolder const &iHolder) | |
WaitingTaskWithArenaHolder (WaitingTaskWithArenaHolder &&iOther) | |
~WaitingTaskWithArenaHolder () | |
Private Attributes | |
std::shared_ptr< tbb::task_arena > | m_arena |
WaitingTask * | m_task |
Description: This holds a WaitingTask and can be passed to something the WaitingTask is waiting for. That allows that something to call doneWaiting to let the WaitingTask know it can run. The use of the arena allows one to call doneWaiting from a thread external to the arena where the task should run. The external thread might be a non-TBB thread.
Definition at line 32 of file WaitingTaskWithArenaHolder.h.
edm::WaitingTaskWithArenaHolder::WaitingTaskWithArenaHolder | ( | ) |
Definition at line 15 of file WaitingTaskWithArenaHolder.cc.
|
explicit |
Definition at line 20 of file WaitingTaskWithArenaHolder.cc.
References m_task.
edm::WaitingTaskWithArenaHolder::~WaitingTaskWithArenaHolder | ( | ) |
Definition at line 25 of file WaitingTaskWithArenaHolder.cc.
References doneWaiting(), and m_task.
edm::WaitingTaskWithArenaHolder::WaitingTaskWithArenaHolder | ( | WaitingTaskWithArenaHolder const & | iHolder | ) |
Definition at line 31 of file WaitingTaskWithArenaHolder.cc.
References m_task.
edm::WaitingTaskWithArenaHolder::WaitingTaskWithArenaHolder | ( | WaitingTaskWithArenaHolder && | iOther | ) |
Definition at line 36 of file WaitingTaskWithArenaHolder.cc.
void edm::WaitingTaskWithArenaHolder::doneWaiting | ( | std::exception_ptr | iExcept | ) |
Definition at line 59 of file WaitingTaskWithArenaHolder.cc.
References edm::WaitingTask::dependentTaskFailed(), m_arena, m_task, and TrackValidation_cff::task.
Referenced by edm::Worker::runAcquireAfterAsyncPrefetch(), and ~WaitingTaskWithArenaHolder().
WaitingTaskHolder edm::WaitingTaskWithArenaHolder::makeWaitingTaskHolderAndRelease | ( | ) |
Definition at line 88 of file WaitingTaskWithArenaHolder.cc.
References m_task.
WaitingTaskWithArenaHolder & edm::WaitingTaskWithArenaHolder::operator= | ( | const WaitingTaskWithArenaHolder & | iRHS | ) |
Definition at line 41 of file WaitingTaskWithArenaHolder.cc.
References m_arena, m_task, std::swap(), and tmp.
WaitingTaskWithArenaHolder & edm::WaitingTaskWithArenaHolder::operator= | ( | WaitingTaskWithArenaHolder && | iRHS | ) |
Definition at line 48 of file WaitingTaskWithArenaHolder.cc.
References m_arena, m_task, eostools::move(), std::swap(), and tmp.
|
private |
Definition at line 73 of file WaitingTaskWithArenaHolder.h.
Referenced by doneWaiting(), and operator=().
|
private |
Definition at line 72 of file WaitingTaskWithArenaHolder.h.
Referenced by doneWaiting(), makeWaitingTaskHolderAndRelease(), operator=(), WaitingTaskWithArenaHolder(), and ~WaitingTaskWithArenaHolder().