[whatwg/streams] Correctly handle releaseLock() during close() (#645)

Code which calls `writer.releaseLock()` while `writer.close()` is in
progress can cause an exception in WritableStreamFinishClose because
`stream.[[writer]]` is undefined.

Existing tests did not find the issue because it is quite hard to
detect.

Add undefined checks to fix this. Also add tests to verify the correct
behaviour.
You can view, comment on, or merge this pull request online at:

  https://github.com/whatwg/streams/pull/645

-- Commit Summary --

  * Correctly handle releaseLock() during close()

-- File Changes --

    M index.bs (9)
    M reference-implementation/lib/writable-stream.js (11)
    M reference-implementation/to-upstream-wpts/writable-streams/close.js (43)

-- Patch Links --

https://github.com/whatwg/streams/pull/645.patch
https://github.com/whatwg/streams/pull/645.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/645

Received on Wednesday, 11 January 2017 09:05:24 UTC