> > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > > --- > server/red-worker.c | 27 ++++++++++++++++++--------- > 1 file changed, 18 insertions(+), 9 deletions(-) > > diff --git a/server/red-worker.c b/server/red-worker.c > index a98c4a6..991a816 100644 > --- a/server/red-worker.c > +++ b/server/red-worker.c > @@ -227,7 +227,6 @@ static int red_process_display(RedWorker *worker, > uint32_t max_pipe_size, int *r > { > QXLCommandExt ext_cmd; > int n = 0; > - uint64_t start = spice_get_monotonic_time_ns(); > > if (!worker->running) { > *ring_is_empty = TRUE; > @@ -236,8 +235,23 @@ static int red_process_display(RedWorker *worker, > uint32_t max_pipe_size, int *r > > worker->process_display_generation++; > *ring_is_empty = FALSE; > - while (!display_is_connected(worker) || > - red_channel_max_pipe_size(RED_CHANNEL(worker->display_channel)) > <= max_pipe_size) { > + for (;;) { > + > + if (display_is_connected(worker)) { > + > + if > (red_channel_all_blocked(RED_CHANNEL(worker->display_channel))) { > + spice_info("all display clients are blocking"); > + return n; > + } > + > + > + // TODO: change to average pipe size? > + if > (red_channel_max_pipe_size(RED_CHANNEL(worker->display_channel)) > > max_pipe_size) { > + spice_info("too many items in the display clients pipe > already"); > + return n; > + } > + } > + > if (!worker->qxl->st->qif->get_command(worker->qxl, &ext_cmd)) { > *ring_is_empty = TRUE;; > if (worker->display_poll_tries < CMD_RING_POLL_RETRIES) { > @@ -327,13 +341,8 @@ static int red_process_display(RedWorker *worker, > uint32_t max_pipe_size, int *r > spice_error("bad command type"); > } > n++; > - if ((worker->display_channel && > - red_channel_all_blocked(&worker->display_channel->common.base)) > - || spice_get_monotonic_time_ns() - start > NSEC_PER_SEC / 100) { > - worker->event_timeout = 0; > - return n; > - } > } > + > return n; > } > I don't remember why I have this patch still around. Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel