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

Christophe Fergeau cfergeau at redhat.com
Mon Jan 11 10:02:26 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



More information about the Spice-devel mailing list