Remove cancellation hook from Future.finally #281
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A less severe alternative to #279
To make Future.finally more reliable as a tool which guarantees
execution of the cleanup handler, it would run and cancel the handler
when it would itself be cancelled.
However, this behaviour is subject to some issues:
got cancelled, leading to attempts to dispose yet-to-be-acquired
resources.
unless it was prepared for ignoring the cancellation signal, cleanup
wouldn't even happen.
This commit fixes both of those issues by removing this behaviour
altogether. Finally then becomes a function to use solely for cases
where something should happen as a side-effect under rejection and under
resolution of a Future, as its documentation already states.