mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-26 10:12:17 +02:00
Fix error when sending empty write buf
This commit is contained in:
@@ -324,13 +324,17 @@ class Loop:
|
|||||||
self.write_buf[self.iov_limit - 1] = b''.join(self.write_buf[self.iov_limit - 1:])
|
self.write_buf[self.iov_limit - 1] = b''.join(self.write_buf[self.iov_limit - 1:])
|
||||||
del self.write_buf[self.iov_limit:]
|
del self.write_buf[self.iov_limit:]
|
||||||
sizes = tuple(map(len, self.write_buf))
|
sizes = tuple(map(len, self.write_buf))
|
||||||
try:
|
total_size = sum(sizes)
|
||||||
written = os.writev(fd, self.write_buf)
|
if total_size:
|
||||||
except BlockingIOError:
|
try:
|
||||||
return
|
written = os.writev(fd, self.write_buf)
|
||||||
if not written:
|
except BlockingIOError:
|
||||||
raise EOFError('The output stream is closed')
|
return
|
||||||
if written >= sum(sizes):
|
if not written:
|
||||||
|
raise EOFError('The output stream is closed')
|
||||||
|
else:
|
||||||
|
written = 0
|
||||||
|
if written >= total_size:
|
||||||
self.write_buf: List[bytes] = []
|
self.write_buf: List[bytes] = []
|
||||||
self.asycio_loop.remove_writer(fd)
|
self.asycio_loop.remove_writer(fd)
|
||||||
self.waiting_for_writes = False
|
self.waiting_for_writes = False
|
||||||
|
|||||||
Reference in New Issue
Block a user