]> git.proxmox.com Git - spiceterm.git/commitdiff
screen: fix exiting on client disconnect with new libspice-server
authorDominik Csapak <d.csapak@proxmox.com>
Wed, 23 Jun 2021 07:45:32 +0000 (09:45 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 23 Jun 2021 08:09:44 +0000 (10:09 +0200)
the way we detected a client_disconnect does not work anymore with
spice-server >= 0.14.3, but there is a convienient function
that exits the spice-server on client disconnect

there is a slight behaviour change that should not make a big difference:

previously, if a user used the same '.vv' file twice, the first client
got disconnected and the second would connect

now, because the server closes on disconnect, the second client is
not be able to connect anymore

using our ui though, every click on 'shell>spice' generates a new '.vv'
file that works though (and for container shells we use dtach to mux)

i could not (in reasonable time) find out why the first client
disconnects at all, and also could not find another way to detect a
client disconnect that is similar to our previous method

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/screen.c

index 871d16fea88caad6baeb77ebb9fa61607f030950..ee6e34afefd57bc6b9aa7dc5106bfacbc6a136e9 100644 (file)
@@ -789,6 +789,8 @@ spice_screen_new(
         }
     }
 
+    spice_server_set_exit_on_disconnect(server, 1);
+
     int res = spice_server_init(server, core);
     if (res != 0) {
         g_error("spice_server_init failed, res = %d\n", res);