Hi all! v3: - instead of creating new qmp command add an argument to existing display-reload - also don't touch websockets for now. I'm not sure we need it. Additional argument for changing websockets may be added later on demand
Recently our customer requested a possibility to change VNC listen port dynamically. Happily in Rhel7-based Qemu we already have this possibility: through deprecated "change" qmp command. But since 6.0 "change" qmp command was removed, with recommendation to use change-vnc-password or blockdev-change-medium instead. Of course, neither of them allow change VNC listen port. So, let's reimplement the possibility. Note: now, reconnecting may trigger existing deadlock, as I described in my message "Re: [PULL 09/11] ui/vnc: clipboard support": <973ddebe-14a9-4ba7-c389-7a97d6017...@virtuozzo.com> Simple hack helps, but I'm not sure it's safe itself: diff --git a/ui/vnc.c b/ui/vnc.c index 69bbf3b6f6..8c6b378e2e 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -1354,12 +1354,12 @@ void vnc_disconnect_finish(VncState *vs) /* last client gone */ vnc_update_server_surface(vs->vd); } + vnc_unlock_output(vs); + if (vs->cbpeer.update.notify) { qemu_clipboard_peer_unregister(&vs->cbpeer); } - vnc_unlock_output(vs); - qemu_mutex_destroy(&vs->output_mutex); if (vs->bh != NULL) { qemu_bh_delete(vs->bh); Vladimir Sementsov-Ogievskiy (3): ui/vnc: refactor arrays of addresses to SocketAddressList qapi/ui: display-reload: add possibility to change listen address avocado/vnc: add test_change_listen docs/about/removed-features.rst | 3 +- qapi/ui.json | 6 +- include/ui/console.h | 2 +- monitor/qmp-cmds.c | 4 +- ui/vnc.c | 166 ++++++++++++++++---------------- tests/avocado/vnc.py | 10 ++ 6 files changed, 100 insertions(+), 91 deletions(-) -- 2.31.1