| 2303 | { |
| 2304 | clearSequence(*async.sequence); |
| 2305 | } |
| 2306 | (void)completeAsync(eventLoop, kernelEvents, async, eventIndex, returnCode); |
| 2307 | if (not async.isCancelling()) |
| 2308 | { |
| 2309 | if (async.sequence and async.sequence->runningRequest == &async) |
| 2310 | { |
| 2311 | async.sequence->runningAsync = false; |
| 2312 | async.sequence->runningRequest = nullptr; |
| 2313 | untrackSequenceIfIdle(*async.sequence); |
| 2314 | } |
| 2315 | async.markAsFree(); |
| 2316 | } |
| 2317 | } |
| 2318 | |
| 2319 | SC::Result SC::AsyncEventLoop::Internal::completeAsync(AsyncEventLoop& eventLoop, KernelEvents& kernelEvents, |
| 2320 | AsyncRequest& async, int32_t eventIndex, Result& returnCode, |
| 2321 | bool* hasBeenReactivated) |
| 2322 | { |
| 2323 | if (returnCode) |
| 2324 | { |
| 2325 | SC_LOG_MESSAGE("{} {} COMPLETE\n", async.debugName, AsyncRequest::TypeToString(async.type)); |
| 2326 | } |
| 2327 | else |
| 2328 | { |
| 2329 | SC_LOG_MESSAGE("{} {} COMPLETE (Error category = {}, code = {})\n", async.debugName, |
| 2330 | AsyncRequest::TypeToString(async.type), returnCode.category().value, returnCode.errorValue()); |
| 2331 | } |
| 2332 | return Internal::applyOnAsync( |
| 2333 | async, CompleteAsyncPhase(eventIndex, eventLoop, kernelEvents, returnCode, hasBeenReactivated)); |
| 2334 | } |
| 2335 | |
| 2336 | SC::Result SC::AsyncEventLoop::Internal::cancelAsync(AsyncEventLoop& eventLoop, KernelEvents& kernelEvents, |
| 2337 | AsyncRequest& async) |
| 2338 | { |
| 2339 | SC_LOG_MESSAGE("{} {} CANCEL\n", async.debugName, AsyncRequest::TypeToString(async.type)); |
| 2340 | SC_TRY(Internal::applyOnAsync(async, CancelAsyncPhase{eventLoop, kernelEvents})) |
nothing calls this directly
no test coverage detected