Skip to content

Commit 2e292c1

Browse files
committed
try wait echo
Signed-off-by: Petre Eftime <[email protected]>
1 parent ab53025 commit 2e292c1

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/process.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,17 @@ impl PtyProcess {
127127

128128
// set echo off
129129
let mut flags = termios::tcgetattr(STDIN_FILENO)?;
130-
flags.local_flags &= !termios::LocalFlags::ECHO;
130+
flags.local_flags.remove(termios::LocalFlags::ECHO);
131131
termios::tcsetattr(STDIN_FILENO, termios::SetArg::TCSANOW, &flags)?;
132132

133+
loop {
134+
flags = termios::tcgetattr(STDIN_FILENO)?;
135+
if !flags.local_flags.contains(termios::LocalFlags::ECHO) {
136+
break;
137+
}
138+
std::thread::sleep(std::time::Duration::from_millis(100));
139+
}
140+
133141
command.exec();
134142
Err(Error::Nix(nix::Error::last()))
135143
}

0 commit comments

Comments
 (0)