summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/red_dispatcher.h12
-rw-r--r--server/red_worker.c8
2 files changed, 7 insertions, 13 deletions
diff --git a/server/red_dispatcher.h b/server/red_dispatcher.h
index 25811fae..9ee36d7d 100644
--- a/server/red_dispatcher.h
+++ b/server/red_dispatcher.h
@@ -62,11 +62,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;
@@ -83,12 +78,17 @@ static inline void receive_data(int fd, void *in_buf, int n)
} while (n);
}
+/* Keep message order, only append new messages!
+ * Replay code store enum values into save files.
+ */
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 8f1c42b3..96d899de 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -11850,7 +11850,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;
@@ -11930,8 +11929,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);
@@ -12029,7 +12026,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;
@@ -12047,7 +12043,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;
}