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

Christophe Fergeau cfergeau at redhat.com
Tue Jan 12 02:43:35 PST 2016


On Tue, Jan 12, 2016 at 05:32:29AM -0500, Frediano Ziglio wrote:
> > 
> > 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 ?

Just a thinko while writing the patch, I've readded them, I'll push with
these added.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20160112/184db935/attachment-0001.sig>


More information about the Spice-devel mailing list