--- configure.ac | 6 +++--- server/reds.c | 14 ++++++++++++++ server/spice-server.syms | 4 ++++ server/spice.h | 1 + 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index cb7bed1..3882fb6 100644 --- a/configure.ac +++ b/configure.ac @@ -12,10 +12,10 @@ AC_PREREQ([2.57]) m4_define([SPICE_MAJOR], 0) m4_define([SPICE_MINOR], 11) -m4_define([SPICE_MICRO], 3) -m4_define([SPICE_CURRENT], [4]) +m4_define([SPICE_MICRO], 4) +m4_define([SPICE_CURRENT], [5]) m4_define([SPICE_REVISION], [0]) -m4_define([SPICE_AGE], [3]) +m4_define([SPICE_AGE], [4]) # Note on the library name on linux (SONAME) produced by libtool (for reference, gleaned # from looking at libtool 2.4.2) diff --git a/server/reds.c b/server/reds.c index 8ad8425..98b316d 100644 --- a/server/reds.c +++ b/server/reds.c @@ -119,6 +119,7 @@ void *red_tunnel = NULL; #endif int agent_mouse = TRUE; int agent_copypaste = TRUE; +static bool exit_on_disconnect = FALSE; #define MIGRATE_TIMEOUT (1000 * 10) /* 10sec */ #define MM_TIMER_GRANULARITY_MS (1000 / 30) @@ -673,6 +674,12 @@ void reds_client_disconnect(RedClient *client) { RedsMigTargetClient *mig_client; + if (exit_on_disconnect) + { + spice_info("Exiting server because of client disconnect.\n"); + exit(0); + } + if (!client || client->disconnecting) { return; } @@ -4061,6 +4068,13 @@ SPICE_GNUC_VISIBLE int spice_server_set_listen_socket_fd(SpiceServer *s, int lis return 0; } +SPICE_GNUC_VISIBLE int spice_server_set_exit_on_disconnect(SpiceServer *s, int flag) +{ + spice_assert(reds == s); + exit_on_disconnect = !!flag; + return 0; +} + SPICE_GNUC_VISIBLE int spice_server_set_noauth(SpiceServer *s) { spice_assert(reds == s); diff --git a/server/spice-server.syms b/server/spice-server.syms index 359791c..fd2a423 100644 --- a/server/spice-server.syms +++ b/server/spice-server.syms @@ -123,3 +123,7 @@ global: spice_server_vm_stop; spice_server_set_seamless_migration; } SPICE_SERVER_0.10.4; + +SPICE_SERVER_0.11.4 { + spice_server_set_exit_on_disconnect; +} SPICE_SERVER_0.11.2; diff --git a/server/spice.h b/server/spice.h index 0dc9d05..fdcfbb7 100644 --- a/server/spice.h +++ b/server/spice.h @@ -427,6 +427,7 @@ int spice_server_set_compat_version(SpiceServer *s, int spice_server_set_port(SpiceServer *s, int port); void spice_server_set_addr(SpiceServer *s, const char *addr, int flags); int spice_server_set_listen_socket_fd(SpiceServer *s, int listen_fd); +int spice_server_set_exit_on_disconnect(SpiceServer *s, int flag); int spice_server_set_noauth(SpiceServer *s); int spice_server_set_sasl(SpiceServer *s, int enabled); int spice_server_set_sasl_appname(SpiceServer *s, const char *appname); -- 1.7.10.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel