Skip to content

Commit a8d85e2

Browse files
committed
uasyncio: Fix partial reads in StreamReader.read/readline() methods.
If None (no data, would block) is received, need to wait for more data, not just read it again immediately.
1 parent f5fdebe commit a8d85e2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

uasyncio/uasyncio/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def __init__(self, s):
7979
self.s = s
8080

8181
def read(self, n=-1):
82-
yield IORead(self.s)
8382
while True:
83+
yield IORead(self.s)
8484
res = self.s.read(n)
8585
if res is not None:
8686
break
@@ -92,10 +92,10 @@ def read(self, n=-1):
9292
def readline(self):
9393
if __debug__:
9494
log.debug("StreamReader.readline()")
95-
yield IORead(self.s)
9695
# if DEBUG and __debug__:
9796
# log.debug("StreamReader.readline(): after IORead: %s", s)
9897
while True:
98+
yield IORead(self.s)
9999
res = self.s.readline()
100100
if res is not None:
101101
break

0 commit comments

Comments
 (0)