diff options
author | Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> | 2025-05-03 00:47:29 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-05-02 23:51:30 +0200 |
commit | 03f50d7ee756eecbd4481c3008b5e01e999729c7 (patch) | |
tree | 769b8482a559649e3e510fbff00ea35cba5ce9fd /scripts/rust/rustc_args.py | |
parent | ffd5a60e9b67e14f7bac7ea29300ea46a944e508 (diff) | |
download | qemu-03f50d7ee756eecbd4481c3008b5e01e999729c7.zip qemu-03f50d7ee756eecbd4481c3008b5e01e999729c7.tar.gz qemu-03f50d7ee756eecbd4481c3008b5e01e999729c7.tar.bz2 |
monitor: don't wake up qmp_dispatcher_co coroutine upon cleanup
Since the commit 3e6bed61 ("monitor: cleanup detection of qmp_dispatcher_co
shutting down"), coroutine pointer qmp_dispatcher_co is set to NULL upon
cleanup. If a QMP command is sent after monitor_cleanup() (e.g. after
shutdown), this may lead to SEGFAULT on aio_co_wake(NULL).
As mentioned in the comment inside monitor_cleanup(), the intention is to
allow incoming requests while shutting down, but simply leave them
without any response. Let's do exactly that, and if qmp_dispatcher_co
coroutine pointer has already been set to NULL, let's simply skip the
aio_co_wake() part.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Link: https://lore.kernel.org/r/20250502214729.928380-2-andrey.drobyshev@virtuozzo.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/rust/rustc_args.py')
0 files changed, 0 insertions, 0 deletions