[Spice-devel] [spice-server 2/2] reds: Pass RedState instance to reds_accept()

Christophe Fergeau cfergeau at redhat.com
Wed Feb 10 16:57:40 UTC 2016


Rather than relying on a global 'reds' variable, we can pass the needed
instance through the callback user data.
---
 server/reds.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/server/reds.c b/server/reds.c
index 4fba4f1..d7acab5 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2374,6 +2374,7 @@ static void reds_accept_ssl_connection(int fd, int event, void *data)
 
 static void reds_accept(int fd, int event, void *data)
 {
+    RedsState *reds = data;
     int socket;
 
     if ((socket = accept(reds->listen_socket, NULL, 0)) == -1) {
@@ -2537,7 +2538,7 @@ static int reds_init_net(RedsState *reds)
         }
         reds->listen_watch = core->watch_add(core, reds->listen_socket,
                                              SPICE_WATCH_EVENT_READ,
-                                             reds_accept, NULL);
+                                             reds_accept, reds);
         if (reds->listen_watch == NULL) {
             spice_warning("set fd handle failed");
             return -1;
@@ -2563,7 +2564,7 @@ static int reds_init_net(RedsState *reds)
         reds->listen_socket = reds->spice_listen_socket_fd;
         reds->listen_watch = core->watch_add(core, reds->listen_socket,
                                              SPICE_WATCH_EVENT_READ,
-                                             reds_accept, NULL);
+                                             reds_accept, reds);
         if (reds->listen_watch == NULL) {
             spice_warning("set fd handle failed");
             return -1;
-- 
2.5.0



More information about the Spice-devel mailing list