]> git.ipfire.org Git - thirdparty/qemu.git/commit
char-stdio: Restore blocking mode of stdout on exit
authorMaxim Mikityanskiy <maxtram95@gmail.com>
Wed, 3 Jul 2024 19:08:12 +0000 (22:08 +0300)
committerMichael Tokarev <mjt@tls.msk.ru>
Fri, 5 Jul 2024 12:04:11 +0000 (15:04 +0300)
commit837864aa6c2e632c446e3e891c5b5f93adaf02c2
tree73e3641549703f6cc03dc6cde7598ae2065e0492
parent8c86d8aa6c219a762e7d230b3d6b42d17ca538bf
char-stdio: Restore blocking mode of stdout on exit

qemu_chr_open_fd() sets stdout into non-blocking mode. Restore the old
fd flags on exit to avoid breaking unsuspecting applications that run on
the same terminal after qemu and don't expect to get EAGAIN.

While at at, also ensure term_exit is called once (at the moment it's
called both from char_stdio_finalize() and as the atexit() hook.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2423
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://lore.kernel.org/r/20240703190812.3459514-1-maxtram95@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit a0124e333e2176640f233e5ea57a2f413985d9b5)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
chardev/char-stdio.c