[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/11] monitor/qmp: Stop processing requests when shutdown is requ
From: |
Kevin Wolf |
Subject: |
[PULL 11/11] monitor/qmp: Stop processing requests when shutdown is requested |
Date: |
Mon, 15 Feb 2021 16:01:00 +0100 |
Before this patch, monitor_qmp_dispatcher_co() used to check whether
shutdown is requested only when it would have to wait for new requests.
If there were still some queued requests, it would try to execute all of
them before shutting down.
This can be surprising when the queued QMP commands take long or hang
because Ctrl-C may not actually exit QEMU as soon as possible.
Change monitor_qmp_dispatcher_co() so that it additionally checks
whether shutdown is request before it gets a new request from the queue.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210212172028.288825-3-kwolf@redhat.com>
Tested-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
monitor/qmp.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/monitor/qmp.c b/monitor/qmp.c
index 43880fa623..2326bd7f9b 100644
--- a/monitor/qmp.c
+++ b/monitor/qmp.c
@@ -227,6 +227,11 @@ void coroutine_fn monitor_qmp_dispatcher_co(void *data)
*/
qatomic_mb_set(&qmp_dispatcher_co_busy, false);
+ /* On shutdown, don't take any more requests from the queue */
+ if (qmp_dispatcher_co_shutdown) {
+ return;
+ }
+
while (!(req_obj = monitor_qmp_requests_pop_any_with_lock())) {
/*
* No more requests to process. Wait to be reentered from
--
2.29.2
- [PULL 00/11] Block layer patches, Kevin Wolf, 2021/02/15
- [PULL 04/11] hw/ide/ahci: map cmd_fis as DMA_DIRECTION_TO_DEVICE, Kevin Wolf, 2021/02/15
- [PULL 01/11] qemu-storage-daemon: Enable object-add, Kevin Wolf, 2021/02/15
- [PULL 05/11] xen-block: fix reporting of discard feature, Kevin Wolf, 2021/02/15
- [PULL 09/11] block: qcow2: remove the created file on initialization error, Kevin Wolf, 2021/02/15
- [PULL 06/11] tests/qemu-iotests: Remove test 259 from the "auto" group, Kevin Wolf, 2021/02/15
- [PULL 03/11] blockjob: Fix crash with IOthread when block commit after snapshot, Kevin Wolf, 2021/02/15
- [PULL 10/11] monitor: Fix assertion failure on shutdown, Kevin Wolf, 2021/02/15
- [PULL 07/11] crypto: luks: Fix tiny memory leak, Kevin Wolf, 2021/02/15
- [PULL 08/11] block: add bdrv_co_delete_file_noerr, Kevin Wolf, 2021/02/15
- [PULL 11/11] monitor/qmp: Stop processing requests when shutdown is requested,
Kevin Wolf <=
- [PULL 02/11] iotests: Consistent $IMGOPTS boundary matching, Kevin Wolf, 2021/02/15
- Re: [PULL 00/11] Block layer patches, Peter Maydell, 2021/02/15