pragmatrix / Mom

MOnadic Machines: F# computation expressions and combinators for deterministic coordination, simulation, and testing of concurrent processes.
1 stars 0 forks source link

Review Cancellation Strategy #5

Closed pragmatrix closed 8 years ago

pragmatrix commented 8 years ago

I've seen that in F# Async does never throw the OperationCancellationException inside an Async workflow, but does - if it was actually cancelled - run the finalizers.

I'm not sure what to make out of this yet, but I think that the process cancellation strategy that is used, may be simplified.

pragmatrix commented 8 years ago

This should make cancellation more managable. Also introduces a new combinator. IVR.cancelWith that binds a "cancellation ivr" to a "body ivr" that is run when the "body ivr" gets cancelled.