Re: server: More clearly identify channels that support multiple clients

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey,

On Mon, Mar 14, 2016 at 12:39:02AM +0100, Francois Gouget wrote:
> Rename the function to channel_supports_multiple_clients() as
> channel_is_secondary() is unclear and was coded to return the opposite
> of what was originally intended.
> Also there are few channel types and whether they support multiple
> clients is totally static so we might as well delegate the check to
> the compiler.

These 2 things (renaming and logic change) could have been part of
different commits.

Acked-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
and pushed.

Christophe

> 
> Signed-off-by: Francois Gouget <fgouget@xxxxxxxxxxxxxxx>
> ---
> 
> For reference the original commit was 614df171.
> 
>  server/reds.c | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/server/reds.c b/server/reds.c
> index b1e1139..08b6156 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -874,16 +874,14 @@ SPICE_GNUC_VISIBLE int spice_server_get_num_clients(SpiceServer *s)
>      return reds_get_n_clients(reds);
>  }
>  
> -static const int secondary_channels[] = {
> -    SPICE_CHANNEL_MAIN, SPICE_CHANNEL_DISPLAY, SPICE_CHANNEL_CURSOR, SPICE_CHANNEL_INPUTS};
> -
> -static int channel_is_secondary(RedChannel *channel)
> +static int channel_supports_multiple_clients(RedChannel *channel)
>  {
> -    int i;
> -    for (i = 0 ; i < G_N_ELEMENTS(secondary_channels); ++i) {
> -        if (channel->type == secondary_channels[i]) {
> -            return TRUE;
> -        }
> +    switch (channel->type) {
> +    case SPICE_CHANNEL_MAIN:
> +    case SPICE_CHANNEL_DISPLAY:
> +    case SPICE_CHANNEL_CURSOR:
> +    case SPICE_CHANNEL_INPUTS:
> +        return TRUE;
>      }
>      return FALSE;
>  }
> @@ -896,7 +894,8 @@ void reds_fill_channels(RedsState *reds, SpiceMsgChannels *channels_info)
>      channels_info->num_of_channels = reds->num_of_channels;
>      RING_FOREACH(now, &reds->channels) {
>          RedChannel *channel = SPICE_CONTAINEROF(now, RedChannel, link);
> -        if (reds->num_clients > 1 && !channel_is_secondary(channel)) {
> +        if (reds->num_clients > 1 &&
> +            !channel_supports_multiple_clients(channel)) {
>              continue;
>          }
>          channels_info->channels[used_channels].type = channel->type;
> -- 
> 2.7.0
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/spice-devel

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]