#include <WaitingTaskHolder.h>
Public Member Functions | |
void | doneWaiting (std::exception_ptr iExcept) |
oneapi::tbb::task_group * | group () const noexcept |
bool | hasTask () const noexcept |
WaitingTaskHolder & | operator= (const WaitingTaskHolder &iRHS) |
WaitingTaskHolder & | operator= (WaitingTaskHolder &&iRHS) |
void | presetTaskAsFailed (std::exception_ptr iExcept) |
bool | taskHasFailed () const noexcept |
WaitingTaskHolder () | |
WaitingTaskHolder (oneapi::tbb::task_group &iGroup, edm::WaitingTask *iTask) | |
WaitingTaskHolder (const WaitingTaskHolder &iHolder) | |
WaitingTaskHolder (WaitingTaskHolder &&iOther) | |
~WaitingTaskHolder () | |
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.
|
inlineexplicit |
Definition at line 39 of file WaitingTaskHolder.h.
References edm::TaskBase::increment_ref_count(), and m_task.
|
inline |
Definition at line 43 of file WaitingTaskHolder.h.
References doneWaiting(), and m_task.
|
inline |
Definition at line 49 of file WaitingTaskHolder.h.
References edm::TaskBase::increment_ref_count(), and m_task.
|
inline |
Definition at line 53 of file WaitingTaskHolder.h.
|
inline |
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::Worker::doTransformAsync(), edm::EventProcessor::endRunAsync(), edm::Worker::HandleExternalWorkExceptionTask::execute(), edm::StreamSchedule::finishedPaths(), edm::LuminosityBlockProcessingStatus::globalEndRunHolderDoneWaiting(), edm::EventProcessor::handleNextEventForStreamAsync(), edm::EventProcessor::handleNextItemAfterMergingRunEntries(), edm::WorkerT< T >::implDoTransformAsync(), edm::eventsetup::CallbackExternalWork< T, TAcquireFunc, TProduceFunc, TReturn, TRecord, TDecorator >::makeExceptionHandlerTask(), edm::eventsetup::CallbackBase< T, TProduceFunc, TReturn, TRecord, TDecorator >::prefetchAsyncImpl(), edm::StreamSchedule::processOneEventAsync(), edm::GlobalSchedule::processOneGlobalAsync(), edm::StreamSchedule::processOneStreamAsync(), edm::EventProcessor::streamBeginRunAsync(), edm::eventsetup::synchronousEventSetupForInstance(), edm::TransformerBase::transformImpAsync(), edm::OutputModuleCommunicatorT< T >::writeLumiAsync(), edm::OutputModuleCommunicatorT< T >::writeProcessBlockAsync(), edm::OutputModuleCommunicatorT< T >::writeRunAsync(), 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::Worker::doTransformAsync(), 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::DelayedReaderInputProductResolver::prefetchAsync_(), edm::UnscheduledProductResolver::prefetchAsync_(), edm::TransformingProductResolver::prefetchAsync_(), edm::SwitchProducerProductResolver::prefetchAsync_(), edm::SwitchAliasProductResolver::prefetchAsync_(), edm::NoProcessProductResolver::prefetchAsync_(), edm::eventsetup::DataProxyTemplate< ESTestRecordJ, ESTestDataJ >::prefetchAsyncImpl(), edm::eventsetup::CallbackBase< T, TProduceFunc, TReturn, TRecord, TDecorator >::prefetchAsyncImpl(), edm::eventsetup::ESSourceDataProxyBase::prefetchAsyncImplTemplate(), edm::EventProcessor::processEventAsync(), edm::StreamSchedule::processOneEventAsync(), edm::GlobalSchedule::processOneGlobalAsync(), edm::Path::processOneOccurrenceAsync(), 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(), edm::EventProcessor::streamEndRunAsync(), edm::TransformerBase::transformImpAsync(), edm::OutputModuleCommunicatorT< T >::writeLumiAsync(), edm::OutputModuleCommunicatorT< T >::writeProcessBlockAsync(), and edm::OutputModuleCommunicatorT< T >::writeRunAsync().
|
inlinenoexcept |
Definition at line 74 of file WaitingTaskHolder.h.
References m_task.
Referenced by edm::eventsetup::EventSetupRecordIOVQueue::endIOVAsync().
|
inline |
Definition at line 57 of file WaitingTaskHolder.h.
References m_group, m_task, std::swap(), and createJobs::tmp.
|
inline |
Definition at line 64 of file WaitingTaskHolder.h.
References m_group, m_task, eostools::move(), std::swap(), and createJobs::tmp.
|
inline |
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 exceptoin.
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::handleNextItemAfterMergingRunEntries(), 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().