Hi all! v2: 01, 03: add Mark-Andre's r-bs 02: add a bit of documentation and "'if': 'CONFIG_VNC'", still, keep Mark-Adnre's r-b here too
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: introduce change-vnc-listen avocado/vnc: add test_change_listen docs/about/removed-features.rst | 3 +- qapi/ui.json | 19 ++++ ui/vnc.c | 155 ++++++++++++++++---------------- tests/avocado/vnc.py | 10 +++ 4 files changed, 108 insertions(+), 79 deletions(-) -- 2.31.1