]> 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)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 3 Jul 2024 19:54:41 +0000 (21:54 +0200)
commita0124e333e2176640f233e5ea57a2f413985d9b5
treed70eb873a1ab89c7e190786fecf83dd9a895aacc
parent138c3377a9b27accec516b2c0da90dedef98a780
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>
chardev/char-stdio.c