void c_AsyncFunctionWaitHandle::markAsSucceeded() { AsioSession* session = AsioSession::Get(); if (UNLIKELY(session->hasOnAsyncFunctionSuccessCallback())) { session->onAsyncFunctionSuccess(this, cellAsCVarRef(m_resultOrException)); } done(); }
void c_AsyncFunctionWaitHandle::markAsSucceeded(const Cell& result) { AsioSession* session = AsioSession::Get(); if (UNLIKELY(session->hasOnAsyncFunctionSuccessCallback())) { session->onAsyncFunctionSuccess(this, cellAsCVarRef(result)); } setResult(result); // free m_continuation / m_child later, result may be stored there m_continuation = nullptr; m_child = nullptr; }