#include <WaitingTaskHolder.h>
Public Member Functions | |
void | doneWaiting (std::exception_ptr iExcept) noexcept |
oneapi::tbb::task_group * | group () const noexcept |
bool | hasTask () const noexcept |
WaitingTaskHolder & | operator= (const WaitingTaskHolder &iRHS) noexcept |
WaitingTaskHolder & | operator= (WaitingTaskHolder &&iRHS) noexcept |
void | presetTaskAsFailed (std::exception_ptr iExcept) noexcept |
bool | taskHasFailed () const noexcept |
WaitingTaskHolder () | |
WaitingTaskHolder (oneapi::tbb::task_group &iGroup, edm::WaitingTask *iTask) noexcept | |
WaitingTaskHolder (const WaitingTaskHolder &iHolder) noexcept | |
WaitingTaskHolder (WaitingTaskHolder &&iOther) noexcept | |
~WaitingTaskHolder () noexcept | |
Private Member Functions | |
WaitingTask * | release_no_decrement () noexcept |
Private Attributes | |
oneapi::tbb::task_group * | m_group |
WaitingTask * | m_task |
Friends | |
class | WaitingTaskList |
class | WaitingTaskWithArenaHolder |
Definition at line 32 of file WaitingTaskHolder.h.
|
inline |
Definition at line 37 of file WaitingTaskHolder.h.
|
inlineexplicitnoexcept |
Definition at line 39 of file WaitingTaskHolder.h.
References edm::TaskBase::increment_ref_count(), and m_task.
|
inlinenoexcept |
Definition at line 43 of file WaitingTaskHolder.h.
References doneWaiting(), and m_task.
|
inlinenoexcept |
Definition at line 49 of file WaitingTaskHolder.h.
References edm::TaskBase::increment_ref_count(), and m_task.
|
inlinenoexcept |
Definition at line 53 of file WaitingTaskHolder.h.
|
inlinenoexcept |
Definition at line 94 of file WaitingTaskHolder.h.
References edm::WaitingTask::dependentTaskFailed(), m_group, m_task, alignCSCRings::s, and TrackValidation_cff::task.
Referenced by edm::WaitingTaskList::add(), edm::EventProcessor::beginLumiAsync(), edm::EventProcessor::beginRunAsync(), edm::EventProcessor::endRunAsync(), edm::Worker::HandleExternalWorkExceptionTask::execute(), edm::StreamSchedule::finishedPaths(), edm::LuminosityBlockProcessingStatus::globalEndRunHolderDoneWaiting(), edm::EventProcessor::handleNextEventForStreamAsync(), edm::EventProcessor::handleNextItemAfterMergingRunEntries(), edm::eventsetup::CallbackExternalWork< T, TAcquireFunc, TAcquireReturn, TProduceFunc, TProduceReturn, TRecord, TDecorator >::makeExceptionHandlerTask(), edm::eventsetup::CallbackBase< T, TProduceFunc, TProduceReturn, TRecord, TDecorator >::prefetchAsyncImpl(), edm::StreamSchedule::processOneEventAsync(), edm::GlobalSchedule::processOneGlobalAsync(), edm::StreamSchedule::processOneStreamAsync(), edm::eventsetup::synchronousEventSetupForInstance(), and ~WaitingTaskHolder().
|
inlinenoexcept |
since oneapi::tbb::task_group is thread safe, we can return it non-const from here since the object is not really part of the state of the holder
Definition at line 78 of file WaitingTaskHolder.h.
References m_group.
Referenced by edm::WaitingTaskList::add(), edm::EventProcessor::beginRunAsync(), evf::GlobalEvFOutputEventWriter::doOutputEventAsync(), edm::EventProcessor::handleNextEventForStreamAsync(), edm::waiting_task::detail::WaitingTaskChain< U >::lastTask(), edm::waiting_task::detail::WaitingTaskChain< U, T... >::lastTask(), edm::waiting_task::detail::WaitingTaskChain< Conditional< U >, T... >::lastTask(), edm::EventProcessor::nextTransitionTypeAsync(), edm::EventProcessor::processEventAsync(), edm::Path::processEventUsingPathAsync(), edm::StreamSchedule::processOneEventAsync(), edm::GlobalSchedule::processOneGlobalAsync(), edm::StreamSchedule::processOneStreamAsync(), edm::EventProcessor::readAndMergeLumiEntriesAsync(), edm::EventProcessor::readAndMergeRunEntriesAsync(), edm::waiting_task::detail::WaitingTaskChain< U, T... >::runLast(), edm::waiting_task::detail::WaitingTaskChain< Conditional< U >, T... >::runLast(), edm::eventsetup::EventSetupsController::runOrQueueEventSetupForInstanceAsync(), edm::eventsetup::EventSetupRecordIOVQueue::startNewIOVAsync(), edm::EventProcessor::streamEndLumiAsync(), and edm::EventProcessor::streamEndRunAsync().
|
inlinenoexcept |
Definition at line 74 of file WaitingTaskHolder.h.
References m_task.
Referenced by edm::eventsetup::EventSetupRecordIOVQueue::endIOVAsync().
|
inlinenoexcept |
Definition at line 57 of file WaitingTaskHolder.h.
References m_group, m_task, edm::swap(), and createJobs::tmp.
|
inlinenoexcept |
Definition at line 64 of file WaitingTaskHolder.h.
References m_group, m_task, eostools::move(), edm::swap(), and createJobs::tmp.
|
inlinenoexcept |
Use in the case where you need to inform the parent task of a failure before some other child task which may be run later reports a different, but related failure. You must later call doneWaiting in the same thread passing the same exception.
Definition at line 88 of file WaitingTaskHolder.h.
References edm::WaitingTask::dependentTaskFailed(), and m_task.
|
inlineprivatenoexcept |
Definition at line 113 of file WaitingTaskHolder.h.
References m_task, and submitPVValidationJobs::t.
Referenced by edm::WaitingTaskList::add().
|
inlinenoexcept |
Definition at line 72 of file WaitingTaskHolder.h.
References edm::WaitingTask::exceptionPtr(), and m_task.
Referenced by edm::EventProcessor::beginRunAsync(), edm::EventProcessor::globalEndLumiAsync(), edm::EventProcessor::globalEndRunAsync(), edm::EventProcessor::handleEndLumiExceptions(), edm::EventProcessor::handleEndRunExceptions(), edm::EventProcessor::handleNextEventForStreamAsync(), edm::EventProcessor::readNextEventForStream(), edm::EventProcessor::streamEndLumiAsync(), and edm::EventProcessor::streamEndRunAsync().
|
friend |
Definition at line 34 of file WaitingTaskHolder.h.
|
friend |
Definition at line 35 of file WaitingTaskHolder.h.
|
private |
Definition at line 120 of file WaitingTaskHolder.h.
Referenced by doneWaiting(), group(), and operator=().
|
private |
Definition at line 119 of file WaitingTaskHolder.h.
Referenced by doneWaiting(), hasTask(), operator=(), presetTaskAsFailed(), release_no_decrement(), taskHasFailed(), WaitingTaskHolder(), and ~WaitingTaskHolder().