qemu/chardev
Alex Bennée a00e37a4be chardev: don't exit() straight away on C-a x
While there are a number of uses in the code-base of the exit(0)
pattern it gets in the way of clean exit which can do all of it's
house-keeping. In particular it was reported that you can crash
plugins this way because TCG can still be running on other threads
when the atexit callback is called.

Use qmp_quit() instead which takes care of some housekeeping before
triggering the shutdown.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reported-by: Lukas Jünger <lukas.junger@greensocs.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20211026102234.3961636-19-alex.bennee@linaro.org>
2021-11-04 10:32:01 +00:00
..
baum.c modules: add chardev module annotations 2021-07-09 18:20:27 +02:00
char-console.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
char-fd.c chardev: fix qemu_chr_open_fd() with fd_in==fd_out 2021-08-05 16:15:33 +04:00
char-fe.c chardev: mark explicitly first argument as poisoned 2021-08-05 16:15:33 +04:00
char-file.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
char-io.c chardev: use a child source for qio input source 2018-10-03 14:45:05 +04:00
char-mux.c chardev: don't exit() straight away on C-a x 2021-11-04 10:32:01 +00:00
char-null.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
char-parallel.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
char-pipe.c util: rename qemu_open() to qemu_open_old() 2020-09-16 10:33:48 +01:00
char-pty.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
char-ringbuf.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
char-serial.c chardev: Add macOS to list of OSes that support -chardev serial 2020-05-04 14:35:23 +02:00
char-socket.c qapi: Convert simple union SocketAddressLegacy to flat one 2021-09-27 08:23:25 +02:00
char-stdio.c char-stdio: Fix QMP default for 'signal' 2020-11-17 12:26:47 +01:00
char-udp.c qapi: Convert simple union SocketAddressLegacy to flat one 2021-09-27 08:23:25 +02:00
char-win-stdio.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
char-win.c chardev: Improve error report by calling error_setg_win32() 2020-03-09 13:36:15 +01:00
char.c chardev: Propagate error from logfile opening 2021-09-14 16:52:33 +04:00
chardev-internal.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
meson.build configure, meson: move Spice configure handling to meson 2021-10-14 09:50:57 +02:00
msmouse.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
spice.c chardev-spice: add missing module_obj directive 2021-07-22 14:44:47 +02:00
testdev.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
wctablet.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00