-
Notifications
You must be signed in to change notification settings - Fork 163
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make write() and close() non-interruptible (#619)
The underlying abort() method will now not be called until any pending underlying write() has finished. If an underlying close() is in progress then abort() will no longer be called at all. Other behavioural changes: * If the underlying operation has started, then the writer's write() and close() methods will always reflect the result of the underlying operation, rather than being rejected because abort() was called. * Consistently with the above, if an underlying operation calls controller.error() then the writer method will still reflect the result from the underlying operation. * If a call to writer.abort() has to wait for an underlying write() or close() to complete, and that underlying operation rejects, then the underlying abort() will not be called, and writer.abort() will return the rejection from the failed operation.
- Loading branch information
Showing
7 changed files
with
472 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Can't we make this an assertion?