diff options
-rw-r--r-- | src/event_loop.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/event_loop.rs b/src/event_loop.rs index 9584e416..7c00dd36 100644 --- a/src/event_loop.rs +++ b/src/event_loop.rs @@ -263,6 +263,9 @@ impl<Io> EventLoop<Io> if kind.is_readable() { self.pty_read(&mut state, &mut buf); + if ::tty::process_should_exit() { + break 'event_loop; + } } if kind.is_writable() { @@ -289,8 +292,8 @@ impl<Io> EventLoop<Io> } } - self.poll.deregister(&self.rx).expect("deregister channel"); - self.poll.deregister(&fd).expect("deregister pty"); + let _ = self.poll.deregister(&self.rx); + let _ = self.poll.deregister(&fd); (self, state) }) |