1 #ifndef FWCore_Concurrency_WaitingTask_h
2 #define FWCore_Concurrency_WaitingTask_h
34 class WaitingTaskWithArenaHolder;
60 if (iPtr and not
m_ptr) {
61 auto temp = std::make_unique<std::exception_ptr>(iPtr);
62 std::exception_ptr* expected =
nullptr;
63 if (m_ptr.compare_exchange_strong(expected,
temp.get())) {
69 std::atomic<std::exception_ptr*>
m_ptr;
100 template <
typename F>
void dependentTaskFailed(std::exception_ptr iPtr)
Called if waited for task failed.
FunctorWaitingTask< F > * make_waiting_task(F f)
WaitingTask()
Constructor.
std::atomic< bool > m_done
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
std::exception_ptr const * exceptionPtr() const
Returns exception thrown by dependent task.
std::atomic< std::exception_ptr * > m_ptr