Dont read more data than needed in TTYIO

This commit is contained in:
Kovid Goyal 2018-06-18 08:36:47 +05:30
parent 2aba3e249c
commit 6db1f8e3e3
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -382,8 +382,7 @@ class TTYIO:
for chunk in data:
write_all(self.tty_fd, chunk)
def recv(self, more_needed, timeout):
from io import DEFAULT_BUFFER_SIZE
def recv(self, more_needed, timeout, sz=1):
import select
fd = self.tty_fd
start_time = monotonic()
@ -391,7 +390,7 @@ class TTYIO:
rd = select.select([fd], [], [], max(0, timeout - (monotonic() - start_time)))[0]
if not rd:
break
data = os.read(fd, DEFAULT_BUFFER_SIZE)
data = os.read(fd, sz)
if not data:
break # eof
if not more_needed(data):