Fix locking of stdou in UIThreadInner

which blocks the printing in main thread and prevents it from exiting.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2022-08-04 23:04:04 +10:00
parent cea67b2e54
commit ede134d851
No known key found for this signature in database
GPG key ID: 591C0B03040416D6

View file

@ -32,14 +32,14 @@ impl UIThreadInner {
break; break;
} }
// Lock stdout so that nobody can interfere
// with confirmation.
let mut stdout = io::stdout().lock();
let res = loop { let res = loop {
writeln!(&mut stdout, "Do you wish to continue? yes/[no]").unwrap(); {
write!(&mut stdout, "? ").unwrap(); let mut stdout = io::stdout().lock();
stdout.flush().unwrap();
writeln!(&mut stdout, "Do you wish to continue? yes/[no]").unwrap();
write!(&mut stdout, "? ").unwrap();
stdout.flush().unwrap();
}
input.clear(); input.clear();
stdin.read_line(&mut input).unwrap(); stdin.read_line(&mut input).unwrap();