This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: hangs if n<0
Type: behavior Stage: resolved
Components: asyncio Versions: Python 3.5
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: asvetlov, s_kostyuk, yselivanov
Priority: normal Keywords:

Created on 2017-07-27 18:13 by s_kostyuk, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (2)
msg299332 - (view) Author: Sergey Kostyuk (s_kostyuk) Date: 2017-07-27 18:13
Good day

Maybe I misunderstood something, but I'm failed to fetch any data by calling if `n` is less than zero (or left default). It just hangs in the loop forever (see line number 614 of asyncio/ If `n` is equal to any positive value - coroutine works as expected and returns if there is any data in socket buffer. Even if available data size is less than `n` bytes.

Expected behavior: collect all data from the buffer and return
Current behavior: hangs in the loop forever if n < 0

My usage sample:
msg308793 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2017-12-20 19:39
`.read(-1)` reads up to end of stream (closing the underlying socket by peer).

If other side doesn't close connection after sending data -- read(-1) hangs, but it is not asyncio bug.
Date User Action Args
2022-04-11 14:58:49adminsetgithub: 75242
2017-12-20 19:39:10asvetlovsetstatus: open -> closed

nosy: + asvetlov
messages: + msg308793

resolution: not a bug
stage: resolved
2017-07-27 18:13:39s_kostyukcreate