Forgot to port the exception handler loop

This commit is contained in:
Kovid Goyal 2018-06-09 11:08:25 +05:30
parent caa20aa081
commit 83fe2438f9
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -396,6 +396,8 @@ def _report_error_loop(self, tb, term_manager):
handler.write_buf = []
handler._term_manager = term_manager
handler._initialize(self._get_screen_size(), self.quit, self.wakeup, self.start_job, debug)
tty_fd = term_manager.tty_fd
read_ready, write_ready, wakeup_ready = self._read_ready, self._write_ready, self._wakeup_ready
with handler:
while True:
has_data_to_write = bool(handler.write_buf)
@ -404,6 +406,13 @@ def _report_error_loop(self, tb, term_manager):
if has_data_to_write != waiting_for_write:
waiting_for_write = has_data_to_write
self._modify_output_selector(term_manager.tty_fd, waiting_for_write)
events = select()
for key, mask in events:
for key, mask in select():
fd = key.fd
if fd == tty_fd:
if mask & selectors.EVENT_READ:
read_ready(handler, fd)
if mask & selectors.EVENT_WRITE:
write_ready(handler, fd)
else:
wakeup_ready(handler, fd)
key.data(handler)