diff --git a/chronos/internal/asyncfutures.nim b/chronos/internal/asyncfutures.nim index 9a7261d..b3a6a38 100644 --- a/chronos/internal/asyncfutures.nim +++ b/chronos/internal/asyncfutures.nim @@ -192,11 +192,11 @@ proc finish(fut: FutureBase, state: FutureState) = # 1. `finish()` is a private procedure and `state` is under our control. # 2. `fut.state` is checked by `checkFinished()`. fut.internalState = state + when chronosProfiling: if not isNil(onBaseFutureEvent): onBaseFutureEvent(fut, state) - when chronosStrictFutureAccess: - doAssert fut.internalCancelcb == nil or state != FutureState.Cancelled + fut.internalCancelcb = nil # release cancellation callback memory for item in fut.internalCallbacks.mitems(): if not(isNil(item.function)):