[Spice-devel] [PATCH 4/9] worker: remove useless MESSAGE_READY

Frediano Ziglio fziglio at redhat.com
Wed Oct 21 05:00:33 PDT 2015


From: Marc-André Lureau <marcandre.lureau at gmail.com>

Now that worker is created before running, and run() returns success,
there is no point in using MESSAGE_READY.
---
 server/red_dispatcher.h | 10 ++++------
 server/red_worker.c     |  8 +-------
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/server/red_dispatcher.h b/server/red_dispatcher.h
index 2121007..ae46982 100644
--- a/server/red_dispatcher.h
+++ b/server/red_dispatcher.h
@@ -63,11 +63,6 @@ static inline void send_data(int fd, void *in_buf, int n)
     } while (n);
 }
 
-static inline void write_message(int fd, RedWorkerMessage *message)
-{
-    send_data(fd, message, sizeof(RedWorkerMessage));
-}
-
 static inline void receive_data(int fd, void *in_buf, int n)
 {
     uint8_t *buf = in_buf;
@@ -84,12 +79,15 @@ static inline void receive_data(int fd, void *in_buf, int n)
     } while (n);
 }
 
+/* Keep message order, only append new messages! */
 enum {
     RED_WORKER_MESSAGE_NOP,
+
     RED_WORKER_MESSAGE_UPDATE,
     RED_WORKER_MESSAGE_WAKEUP,
     RED_WORKER_MESSAGE_OOM,
-    RED_WORKER_MESSAGE_READY,
+    RED_WORKER_MESSAGE_READY, /* unused */
+
     RED_WORKER_MESSAGE_DISPLAY_CONNECT,
     RED_WORKER_MESSAGE_DISPLAY_DISCONNECT,
     RED_WORKER_MESSAGE_DISPLAY_MIGRATE,
diff --git a/server/red_worker.c b/server/red_worker.c
index daa233b..e5486c4 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -11853,7 +11853,6 @@ static void handle_dev_input(int fd, int event, void *opaque)
 RedWorker* red_worker_new(WorkerInitData *init_data)
 {
     RedWorker *worker = spice_new0(RedWorker, 1);
-    RedWorkerMessage message;
     Dispatcher *dispatcher;
     int i;
     const char *record_filename;
@@ -11933,8 +11932,6 @@ RedWorker* red_worker_new(WorkerInitData *init_data)
     if (!spice_timer_queue_create()) {
         spice_error("failed to create timer queue");
     }
-    message = RED_WORKER_MESSAGE_READY;
-    write_message(worker->channel, &message);
 
     red_init_quic(worker);
     red_init_lz(worker);
@@ -12033,7 +12030,6 @@ SPICE_GNUC_NORETURN static void *red_worker_main(void *arg)
 
 bool red_worker_run(RedWorker *worker)
 {
-    uint32_t message;
     sigset_t thread_sig_mask;
     sigset_t curr_sig_mask;
     int r;
@@ -12051,7 +12047,5 @@ bool red_worker_run(RedWorker *worker)
     }
     pthread_sigmask(SIG_SETMASK, &curr_sig_mask, NULL);
 
-    message = dispatcher_read_message(red_dispatcher_get_dispatcher(worker->red_dispatcher));
-
-    return message == RED_WORKER_MESSAGE_READY;
+    return r == 0;
 }
-- 
2.4.3



More information about the Spice-devel mailing list