Ticket UUID: | 104809e450a5988162890bdbc654e0f6bf555a41 | |||
Title: | [coroutine::util read] swallows data when the channel becomes blocked | |||
Type: | Bug | Version: | ||
Submitter: | pooryorick | Created on: | 2017-09-20 09:58:07 | |
Subsystem: | (unused) | Assigned To: | ||
Priority: | 5 Medium | Severity: | Critical | |
Status: | Closed | Last Modified: | 2017-09-20 13:53:32 | |
Resolution: | Fixed | Closed By: | pooryorick | |
Closed on: | 2017-09-20 13:53:32 | |||
Description: |
(text/x-fossil-wiki)
When a channel is in non-blocking mode <code>::chan read</code> may return some data but then also cause a subsequent <code>chan blocked</code> to return <code>1</code>. <code>::coroutine::util read</code> currently fails to account for this scenario, and the data that was just read is swallowed. |