#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 21 of file WaitingTaskWithArenaHolder.cc.
References m_task.
edm::WaitingTaskWithArenaHolder::~WaitingTaskWithArenaHolder | ( | ) |
Definition at line 28 of file WaitingTaskWithArenaHolder.cc.
References doneWaiting(), and m_task.
edm::WaitingTaskWithArenaHolder::WaitingTaskWithArenaHolder | ( | WaitingTaskWithArenaHolder const & | iHolder | ) |
Definition at line 34 of file WaitingTaskWithArenaHolder.cc.
References m_task.
edm::WaitingTaskWithArenaHolder::WaitingTaskWithArenaHolder | ( | WaitingTaskWithArenaHolder && | iOther | ) |
Definition at line 41 of file WaitingTaskWithArenaHolder.cc.
void edm::WaitingTaskWithArenaHolder::doneWaiting | ( | std::exception_ptr | iExcept | ) |
Definition at line 66 of file WaitingTaskWithArenaHolder.cc.
References edm::WaitingTask::dependentTaskFailed(), m_arena, and m_task.
Referenced by edm::Worker::runAcquireAfterAsyncPrefetch(), and ~WaitingTaskWithArenaHolder().
WaitingTaskHolder edm::WaitingTaskWithArenaHolder::makeWaitingTaskHolderAndRelease | ( | ) |
Definition at line 90 of file WaitingTaskWithArenaHolder.cc.
References m_task.
WaitingTaskWithArenaHolder & edm::WaitingTaskWithArenaHolder::operator= | ( | const WaitingTaskWithArenaHolder & | iRHS | ) |
Definition at line 48 of file WaitingTaskWithArenaHolder.cc.
References m_arena, m_task, std::swap(), and tmp.
WaitingTaskWithArenaHolder & edm::WaitingTaskWithArenaHolder::operator= | ( | WaitingTaskWithArenaHolder && | iRHS | ) |
Definition at line 55 of file WaitingTaskWithArenaHolder.cc.
References m_arena, m_task, eostools::move(), std::swap(), and tmp.
|
private |
Definition at line 75 of file WaitingTaskWithArenaHolder.h.
Referenced by doneWaiting(), and operator=().
|
private |
Definition at line 74 of file WaitingTaskWithArenaHolder.h.
Referenced by doneWaiting(), makeWaitingTaskHolderAndRelease(), operator=(), WaitingTaskWithArenaHolder(), and ~WaitingTaskWithArenaHolder().