[Spice-devel] [spice-server] stat: Make stat_compress_init/stat_init the same

Frediano Ziglio fziglio at redhat.com
Tue Jan 12 02:32:29 PST 2016


> 
> When COMPRESS_STAT is not set, and RED_WORKER_STAT is set,
> stat_time() will be a no-op, but stat_start_time_init() will try to use
> stat_info_t::clock. This causes a compile warning on 32 bit arches (not
> sure why not on 64 bit builds), as well as an error from valgrind.
> 
> Since stat_time() and stat_compress_time() are both doing the same work,
> this commit makes them the same function, which ensures
> stat_info_t::clock will be set and stat_start_time_init() can be used
> regardless of the _init() method which is called.
> ---
>  server/stat.h | 28 ++++++++++++----------------
>  1 file changed, 12 insertions(+), 16 deletions(-)
> 
> diff --git a/server/stat.h b/server/stat.h
> index adbf46b..ed6ac73 100644
> --- a/server/stat.h
> +++ b/server/stat.h
> @@ -101,15 +101,22 @@ static inline void stat_reset(G_GNUC_UNUSED stat_info_t
> *info)
>  #endif
>  }
>  
> +static inline void stat_init(stat_info_t *info,
> +                             const char *name,
> +                             clockid_t clock)
> +{
> +#if defined(RED_WORKER_STAT) || defined(COMPRESS_STAT)
> +    info->name = name;
> +    info->clock = clock;
> +    stat_reset(info);
> +#endif
> +}
> +
>  static inline void stat_compress_init(G_GNUC_UNUSED stat_info_t *info,
>                                        G_GNUC_UNUSED const char *name,
>                                        G_GNUC_UNUSED clockid_t clock)
>  {
> -#ifdef COMPRESS_STAT
> -    info->name = name;
> -    info->clock = clock;
> -    stat_reset(info);
> -#endif
> +    stat_init(info, name, clock);
>  }
>  
>  static inline void stat_compress_add(G_GNUC_UNUSED stat_info_t *info,
> @@ -134,17 +141,6 @@ static inline double stat_byte_to_mega(uint64_t size)
>      return (double)size / (1000 * 1000);
>  }
>  
> -static inline void stat_init(G_GNUC_UNUSED stat_info_t *info,
> -                             G_GNUC_UNUSED const char *name,
> -                             G_GNUC_UNUSED clockid_t clock)
> -{
> -#ifdef RED_WORKER_STAT
> -    info->name = name;
> -    info->clock = clock;
> -    stat_reset(info);
> -#endif
> -}
> -
>  static inline void stat_add(G_GNUC_UNUSED stat_info_t *info,
>                              G_GNUC_UNUSED stat_start_time_t start)
>  {
> --
> 2.5.0
> 

Works.

Why did you removed the G_GNUC_UNUSED ?

Frediano


More information about the Spice-devel mailing list