[Spice-devel] [PATCH 01/18] remove num_active_workers

Frediano Ziglio fziglio at redhat.com
Mon Feb 15 16:01:02 UTC 2016


This global variable was mainly 1.

Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/red-dispatcher.c | 35 ++++++++++-------------------------
 server/red-dispatcher.h |  1 -
 server/reds.c           |  3 +--
 3 files changed, 11 insertions(+), 28 deletions(-)

diff --git a/server/red-dispatcher.c b/server/red-dispatcher.c
index 11355e4..81f2ed9 100644
--- a/server/red-dispatcher.c
+++ b/server/red-dispatcher.c
@@ -39,7 +39,6 @@
 
 #include "red-dispatcher.h"
 
-static int num_active_workers = 0;
 
 struct AsyncCommand {
     RedWorkerMessage message;
@@ -191,11 +190,6 @@ static void red_dispatcher_cursor_migrate(RedChannelClient *rcc)
                             &payload);
 }
 
-int red_dispatcher_qxl_count(void)
-{
-    return num_active_workers;
-}
-
 static void update_client_mouse_allowed(void)
 {
     static int allowed = FALSE;
@@ -203,22 +197,18 @@ static void update_client_mouse_allowed(void)
     int x_res = 0;
     int y_res = 0;
 
-    if (num_active_workers > 0) {
-        allow_now = TRUE;
-        RedDispatcher *now = dispatchers;
-        while (now && allow_now) {
-            if (now->primary_active) {
-                allow_now = now->use_hardware_cursor;
-                if (num_active_workers == 1) {
-                    if (allow_now) {
-                        x_res = now->x_res;
-                        y_res = now->y_res;
-                    }
-                    break;
-                }
+    allow_now = TRUE;
+    RedDispatcher *now = dispatchers;
+    while (now && allow_now) {
+        if (now->primary_active) {
+            allow_now = now->use_hardware_cursor;
+            if (allow_now) {
+                x_res = now->x_res;
+                y_res = now->y_res;
             }
-            now = now->next;
+            break;
         }
+        now = now->next;
     }
 
     if (allow_now || allow_now != allowed) {
@@ -247,10 +237,6 @@ int red_dispatcher_use_client_monitors_config(void)
 {
     RedDispatcher *now = dispatchers;
 
-    if (num_active_workers == 0) {
-        return FALSE;
-    }
-
     for (; now ; now = now->next) {
         if (!red_dispatcher_check_qxl_version(now, 3, 3) ||
             !now->qxl->st->qif->client_monitors_config ||
@@ -1101,7 +1087,6 @@ void red_dispatcher_init(QXLInstance *qxl)
     reds_register_channel(reds, channel);
 
     red_worker_run(worker);
-    num_active_workers = 1;
 
     qxl->st->dispatcher = red_dispatcher;
     red_dispatcher->next = dispatchers;
diff --git a/server/red-dispatcher.h b/server/red-dispatcher.h
index 11a4f2a..4aa5854 100644
--- a/server/red-dispatcher.h
+++ b/server/red-dispatcher.h
@@ -33,7 +33,6 @@ void red_dispatcher_on_vm_stop(void);
 void red_dispatcher_on_vm_start(void);
 int red_dispatcher_count(void);
 uint32_t red_dispatcher_qxl_ram_size(void);
-int red_dispatcher_qxl_count(void);
 void red_dispatcher_async_complete(struct RedDispatcher *, AsyncCommand *);
 struct Dispatcher *red_dispatcher_get_dispatcher(struct RedDispatcher *);
 int red_dispatcher_use_client_monitors_config(void);
diff --git a/server/reds.c b/server/reds.c
index 01d4db5..e621a25 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -572,10 +572,9 @@ gboolean reds_get_agent_mouse(const RedsState *reds)
 static void reds_update_mouse_mode(RedsState *reds)
 {
     int allowed = 0;
-    int qxl_count = red_dispatcher_qxl_count();
 
     if ((reds->agent_mouse && reds->vdagent) ||
-        (inputs_channel_has_tablet(reds->inputs_channel) && qxl_count == 1)) {
+        (inputs_channel_has_tablet(reds->inputs_channel))) {
         allowed = reds->dispatcher_allows_client_mouse;
     }
     if (allowed == reds->is_client_mouse_allowed) {
-- 
2.5.0



More information about the Spice-devel mailing list