]> 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:19 +0000 (15:04 +0300)
commit6807403eedc83e2c81d6f40a773a9368ed696c05
treef505341b50a8963e859e9d331563f82285dc14c5
parentf0654b8d917953dd64b37b9e12c82ffe9ff87041
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