diff --git a/src/tty/unix.rs b/src/tty/unix.rs index 85b16ddd79..95012e6a4f 100644 --- a/src/tty/unix.rs +++ b/src/tty/unix.rs @@ -107,13 +107,13 @@ pub fn enable_raw_mode() -> Result { raw.c_lflag = raw.c_lflag & !(ECHO | ICANON | IEXTEN | ISIG); raw.c_cc[VMIN] = 1; // One character-at-a-time input raw.c_cc[VTIME] = 0; // with blocking read - try!(termios::tcsetattr(STDIN_FILENO, termios::TCSAFLUSH, &raw)); + try!(termios::tcsetattr(STDIN_FILENO, termios::TCSADRAIN, &raw)); Ok(original_mode) } /// Disable RAW mode for the terminal. pub fn disable_raw_mode(original_mode: Mode) -> Result<()> { - try!(termios::tcsetattr(STDIN_FILENO, termios::TCSAFLUSH, &original_mode)); + try!(termios::tcsetattr(STDIN_FILENO, termios::TCSADRAIN, &original_mode)); Ok(()) }