]> 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:16 +0000 (15:04 +0300)
commit8f7bb1266f33c72b5085efda4d69a82b4941af71
tree478b4507e66d6b7bf2cb1e2a07e9f5cf77b795a6
parentb932f9fbd417d294ccf2488f874391707f9092bd
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