[Spice-devel] [PATCH] channel: support multiple clients for red_channel_is_waiting_for_migrate_data

Marc-André Lureau mlureau at redhat.com
Thu Dec 10 13:44:41 PST 2015


Hi

Did you test this? 

I thought only a single client was handling server migration data. At least intuitively, that's what I think it should do.

----- Original Message -----
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/red-channel.c | 21 ++++++++++++++-------
>  1 file changed, 14 insertions(+), 7 deletions(-)
> 
> diff --git a/server/red-channel.c b/server/red-channel.c
> index 7dfb9bf..18f890f 100644
> --- a/server/red-channel.c
> +++ b/server/red-channel.c
> @@ -963,20 +963,27 @@ int
> red_channel_client_is_waiting_for_migrate_data(RedChannelClient *rcc)
>      return rcc->wait_migrate_data;
>  }
>  
> +/**
> + * Returns TRUE is at least one client is waiting for migration data
> + */
>  int red_channel_is_waiting_for_migrate_data(RedChannel *channel)
>  {
> -    RedChannelClient *rcc;
> +    RingItem *link, *next;
>  
> -    if (!red_channel_is_connected(channel)) {
> +    if (!channel) {
>          return FALSE;
>      }
>  
> -    if (channel->clients_num > 1) {
> -        return FALSE;
> +    RING_FOREACH_SAFE(link, next, &channel->clients) {
> +        RedChannelClient *rcc;
> +
> +        rcc = SPICE_CONTAINEROF(link, RedChannelClient, channel_link);
> +        if (red_channel_client_is_waiting_for_migrate_data(rcc)) {
> +            return TRUE;
> +        }
>      }
> -    spice_assert(channel->clients_num == 1);
> -    rcc = SPICE_CONTAINEROF(ring_get_head(&channel->clients),
> RedChannelClient, channel_link);
> -    return red_channel_client_is_waiting_for_migrate_data(rcc);
> +
> +    return FALSE;
>  }
>  
>  static void red_channel_client_default_connect(RedChannel *channel,
>  RedClient *client,
> --
> 2.4.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list