[Spice-commits] 2 commits - server/reds.c server/reds-private.h

Frediano Ziglio fziglio at kemper.freedesktop.org
Mon Feb 1 06:50:16 PST 2016


 server/reds-private.h |    2 ++
 server/reds.c         |   39 ++++++++++++++++++---------------------
 2 files changed, 20 insertions(+), 21 deletions(-)

New commits:
commit 5aad27b25cdd768f9ec65ddf4dfc75cf98215018
Author: Jonathon Jongsma <jjongsma at redhat.com>
Date:   Tue Jan 27 13:38:39 2015 -0600

    Move spice_addr to RedsState struct
    
    Removing more global variables
    
    Acked-by: Frediano Ziglio <fziglio at redhat.com>

diff --git a/server/reds-private.h b/server/reds-private.h
index 9fd1eec..96a6f4d 100644
--- a/server/reds-private.h
+++ b/server/reds-private.h
@@ -198,6 +198,7 @@ struct RedsState {
     SpiceCharDeviceInstance *vdagent;
     SpiceMigrateInstance *migration_interface;
     int spice_listen_socket_fd;
+    char spice_addr[256];
 };
 
 #endif
diff --git a/server/reds.c b/server/reds.c
index 5c37734..16d7219 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -146,7 +146,6 @@ static SpiceCoreInterfaceInternal core_interface_adapter = {
 
 static TicketAuthentication taTicket;
 
-static char spice_addr[256];
 static int spice_family = PF_UNSPEC;
 static int sasl_enabled = 0; // sasl disabled by default
 #if HAVE_SASL
@@ -2567,7 +2566,7 @@ void reds_set_client_mm_time_latency(RedsState *reds, RedClient *client, uint32_
 static int reds_init_net(RedsState *reds)
 {
     if (reds->spice_port != -1 || spice_family == AF_UNIX) {
-        reds->listen_socket = reds_init_socket(spice_addr, reds->spice_port, spice_family);
+        reds->listen_socket = reds_init_socket(reds->spice_addr, reds->spice_port, spice_family);
         if (-1 == reds->listen_socket) {
             return -1;
         }
@@ -2581,7 +2580,7 @@ static int reds_init_net(RedsState *reds)
     }
 
     if (reds->spice_secure_port != -1) {
-        reds->secure_listen_socket = reds_init_socket(spice_addr, reds->spice_secure_port,
+        reds->secure_listen_socket = reds_init_socket(reds->spice_addr, reds->spice_secure_port,
                                                       spice_family);
         if (-1 == reds->secure_listen_socket) {
             return -1;
@@ -3529,7 +3528,7 @@ SPICE_GNUC_VISIBLE void spice_server_set_addr(SpiceServer *s, const char *addr,
 {
     spice_assert(reds == s);
 
-    g_strlcpy(spice_addr, addr, sizeof(spice_addr));
+    g_strlcpy(s->spice_addr, addr, sizeof(s->spice_addr));
 
     if (flags == SPICE_ADDR_FLAG_IPV4_ONLY) {
         spice_family = PF_INET;
commit 905bfc8dbbf17117862b16c6ef3d81facd10e45b
Author: Jonathon Jongsma <jjongsma at redhat.com>
Date:   Tue Jan 27 13:24:30 2015 -0600

    Move migration_interface to RedsState struct
    
    Acked-by: Frediano Ziglio <fziglio at redhat.com>

diff --git a/server/reds-private.h b/server/reds-private.h
index 3b0f0f8..9fd1eec 100644
--- a/server/reds-private.h
+++ b/server/reds-private.h
@@ -196,6 +196,7 @@ struct RedsState {
     int spice_port;
     int spice_secure_port;
     SpiceCharDeviceInstance *vdagent;
+    SpiceMigrateInstance *migration_interface;
     int spice_listen_socket_fd;
 };
 
diff --git a/server/reds.c b/server/reds.c
index 6d37aa5..5c37734 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -130,8 +130,6 @@ static SpiceCoreInterfaceInternal core_interface_adapter = {
     .channel_event = adapter_channel_event,
 };
 
-static SpiceMigrateInstance *migration_interface = NULL;
-
 /* Debugging only variable: allow multiple client connections to the spice
  * server */
 #define SPICE_DEBUG_ALLOW_MC_ENV "SPICE_DEBUG_ALLOW_MC"
@@ -407,13 +405,13 @@ static void reds_mig_cleanup(RedsState *reds)
 
         if (reds->mig_wait_connect || reds->mig_wait_disconnect) {
             SpiceMigrateInterface *sif;
-            spice_assert(migration_interface);
-            sif = SPICE_CONTAINEROF(migration_interface->base.sif, SpiceMigrateInterface, base);
+            spice_assert(reds->migration_interface);
+            sif = SPICE_CONTAINEROF(reds->migration_interface->base.sif, SpiceMigrateInterface, base);
             if (reds->mig_wait_connect) {
-                sif->migrate_connect_complete(migration_interface);
+                sif->migrate_connect_complete(reds->migration_interface);
             } else {
                 if (sif->migrate_end_complete) {
-                    sif->migrate_end_complete(migration_interface);
+                    sif->migrate_end_complete(reds->migration_interface);
                 }
             }
         }
@@ -3275,7 +3273,7 @@ SPICE_GNUC_VISIBLE int spice_server_add_interface(SpiceServer *s,
 
     } else if (strcmp(interface->type, SPICE_INTERFACE_MIGRATION) == 0) {
         spice_info("SPICE_INTERFACE_MIGRATION");
-        if (migration_interface) {
+        if (reds->migration_interface) {
             spice_warning("already have migration");
             return -1;
         }
@@ -3285,8 +3283,8 @@ SPICE_GNUC_VISIBLE int spice_server_add_interface(SpiceServer *s,
             spice_warning("unsupported migration interface");
             return -1;
         }
-        migration_interface = SPICE_CONTAINEROF(sin, SpiceMigrateInstance, base);
-        migration_interface->st = spice_new0(SpiceMigrateState, 1);
+        reds->migration_interface = SPICE_CONTAINEROF(sin, SpiceMigrateInstance, base);
+        reds->migration_interface->st = spice_new0(SpiceMigrateState, 1);
     }
 
     return 0;
@@ -3871,7 +3869,7 @@ SPICE_GNUC_VISIBLE int spice_server_migrate_connect(SpiceServer *s, const char*
     int try_seamless;
 
     spice_info(NULL);
-    spice_assert(migration_interface);
+    spice_assert(s->migration_interface);
     spice_assert(reds == s);
 
     if (reds->expect_migrate) {
@@ -3879,10 +3877,10 @@ SPICE_GNUC_VISIBLE int spice_server_migrate_connect(SpiceServer *s, const char*
         main_channel_migrate_src_complete(reds->main_channel, FALSE);
     }
 
-    sif = SPICE_CONTAINEROF(migration_interface->base.sif, SpiceMigrateInterface, base);
+    sif = SPICE_CONTAINEROF(s->migration_interface->base.sif, SpiceMigrateInterface, base);
 
     if (!reds_set_migration_dest_info(dest, port, secure_port, cert_subject)) {
-        sif->migrate_connect_complete(migration_interface);
+        sif->migrate_connect_complete(s->migration_interface);
         return -1;
     }
 
@@ -3908,7 +3906,7 @@ SPICE_GNUC_VISIBLE int spice_server_migrate_connect(SpiceServer *s, const char*
             reds_mig_release(reds);
             spice_info("no client connected");
         }
-        sif->migrate_connect_complete(migration_interface);
+        sif->migrate_connect_complete(s->migration_interface);
     }
 
     return 0;
@@ -3919,7 +3917,7 @@ SPICE_GNUC_VISIBLE int spice_server_migrate_info(SpiceServer *s, const char* des
                                           const char* cert_subject)
 {
     spice_info(NULL);
-    spice_assert(!migration_interface);
+    spice_assert(!s->migration_interface);
     spice_assert(reds == s);
 
     if (!reds_set_migration_dest_info(dest, port, secure_port, cert_subject)) {
@@ -3945,10 +3943,10 @@ SPICE_GNUC_VISIBLE int spice_server_migrate_end(SpiceServer *s, int completed)
 
     spice_info(NULL);
 
-    spice_assert(migration_interface);
+    spice_assert(s->migration_interface);
     spice_assert(reds == s);
 
-    sif = SPICE_CONTAINEROF(migration_interface->base.sif, SpiceMigrateInterface, base);
+    sif = SPICE_CONTAINEROF(s->migration_interface->base.sif, SpiceMigrateInterface, base);
     if (completed && !reds->expect_migrate && reds->num_clients) {
         spice_warning("spice_server_migrate_info was not called, disconnecting clients");
         reds_disconnect(reds);
@@ -3965,7 +3963,7 @@ SPICE_GNUC_VISIBLE int spice_server_migrate_end(SpiceServer *s, int completed)
     return 0;
 complete:
     if (sif->migrate_end_complete) {
-        sif->migrate_end_complete(migration_interface);
+        sif->migrate_end_complete(s->migration_interface);
     }
     return ret;
 }


More information about the Spice-commits mailing list