Timer queue is attached to current thread when created so it must be created from the proper thread. After worker initialization was moved to main thread the queue was created in the wrong thread causing program to fail saying that the queue is NULL. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- server/red_worker.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index ce2f9e2..965a14d 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -11671,10 +11671,6 @@ RedWorker* red_worker_new(QXLInstance *qxl, RedDispatcher *red_dispatcher) spice_warn_if(init_info.n_surfaces > NUM_SURFACES); worker->n_surfaces = init_info.n_surfaces; - if (!spice_timer_queue_create()) { - spice_error("failed to create timer queue"); - } - red_init_quic(worker); red_init_lz(worker); red_init_jpeg(worker); @@ -11702,6 +11698,10 @@ SPICE_GNUC_NORETURN static void *red_worker_main(void *arg) spice_assert(MAX_PIPE_SIZE > WIDE_CLIENT_ACK_WINDOW && MAX_PIPE_SIZE > NARROW_CLIENT_ACK_WINDOW); //ensure wakeup by ack message + if (!spice_timer_queue_create()) { + spice_error("failed to create timer queue"); + } + if (pthread_getcpuclockid(pthread_self(), &worker->clockid)) { spice_warning("getcpuclockid failed"); } -- 2.4.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel