[Spice-devel] [PATCH 11/15] server: multiple clients works ok if we limit the pipe to the slowest client
Fabiano FidĂȘncio
fidencio at redhat.com
Fri Dec 4 06:28:17 PST 2015
On Thu, Dec 3, 2015 at 5:27 PM, Frediano Ziglio <fziglio at redhat.com> wrote:
> From: Alon Levy <alon at pobox.com>
>
> ---
> server/red-worker.c | 8 ++++----
> server/reds.c | 2 +-
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/server/red-worker.c b/server/red-worker.c
> index 9e8fcbb..9ec90ce 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -174,7 +174,7 @@ static int red_process_cursor(RedWorker *worker, uint32_t max_pipe_size, int *ri
>
> *ring_is_empty = FALSE;
> while (!cursor_is_connected(worker) ||
> - red_channel_min_pipe_size(RED_CHANNEL(worker->cursor_channel)) <= max_pipe_size) {
> + red_channel_max_pipe_size(RED_CHANNEL(worker->cursor_channel)) <= max_pipe_size) {
> if (!worker->qxl->st->qif->get_cursor_command(worker->qxl, &ext_cmd)) {
> *ring_is_empty = TRUE;
> if (worker->cursor_poll_tries < CMD_RING_POLL_RETRIES) {
> @@ -244,10 +244,10 @@ static int red_process_display(RedWorker *worker, uint32_t max_pipe_size, int *r
> return n;
> }
>
> -
> - // TODO: change to average pipe size?
> + /* this is safe but slow. in the future client groups will rule the world, and
> + * dial up will live with T1 pipes in harmony */
> if (red_channel_min_pipe_size(RED_CHANNEL(worker->display_channel)) > max_pipe_size) {
> - spice_info("too much item in the display clients pipe already");
> + spice_info("too many items in the display clients pipe already");
> return n;
> }
> }
> diff --git a/server/reds.c b/server/reds.c
> index f3d1b24..d890616 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -3347,7 +3347,7 @@ static int do_spice_init(SpiceCoreInterface *core_interface)
>
> reds->allow_multiple_clients = getenv(SPICE_DEBUG_ALLOW_MC_ENV) != NULL;
> if (reds->allow_multiple_clients) {
> - spice_warning("spice: allowing multiple client connections (crashy)");
> + spice_warning("spice: allowing multiple client connections");
> }
> atexit(reds_exit);
> return 0;
> --
> 2.4.3
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
I've tested Frediano change and the multiple client still works as expected.
Acked-by: Fabiano FidĂȘncio <fidencio at redhat.com>
More information about the Spice-devel
mailing list