Fix errors in the recently moved time calculations. (#395203, Chris
authorMatthias Clasen <mclasen@redhat.com>
Fri, 12 Jan 2007 05:55:16 +0000 (05:55 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 12 Jan 2007 05:55:16 +0000 (05:55 +0000)
2007-01-12  Matthias Clasen  <mclasen@redhat.com>

        * gthread/gthread-posix.c:
        * glib/gtimer.c:
        * glib/gthread.c: Fix errors in the recently moved
        time calculations.  (#395203, Chris Wilson)

svn path=/trunk/; revision=5244

ChangeLog
glib/gthread.c
glib/gtimer.c
gthread/gthread-posix.c

index 210859f3729ef40376fab29e6daafb7315e0c662..d4979edd9267034bf940ee94156bbf5e70bbfa34 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-01-12  Matthias Clasen  <mclasen@redhat.com>
+
+       * gthread/gthread-posix.c:
+       * glib/gtimer.c:
+       * glib/gthread.c: Fix errors in the recently moved
+       time calculations.  (#395203, Chris Wilson)
+
 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Actually link gthread against librt.
index a2fa8b94cc5c1e90e3ecd3a35e05ccd1e17f6cfb..de8855fdc2b6db7948b8623a3ff71ac9795bb984 100644 (file)
@@ -557,7 +557,7 @@ gettime (void)
 
   gettimeofday (&tv, NULL);
 
-  return tv.tv_sec * 1e9 + tv.tv_usec * 1000; 
+  return (guint64) tv.tv_sec * 1000000000 + tv.tv_usec * 1000; 
 #endif
 }
 
index bedaf47adf079b0bc3db6a208835b3abe4aae654..be1dc26f167f9f1b9208b28dd1b78ed6f7df3353 100644 (file)
@@ -149,10 +149,10 @@ g_timer_elapsed (GTimer *timer,
 
   elapsed = timer->end - timer->start;
 
-  total = elapsed / 1e7;
+  total = elapsed / 1e9;
 
   if (microseconds)
-    *microseconds = (elapsed / 10) % 1000000;
+    *microseconds = (elapsed / 1000) % 1000000;
 
   return total;
 }
index d05165c68fc93f7c9d65c05603fb2111e8fa4208..124d452e12edb6e91c1df4ac05ee74a846e512c7 100644 (file)
@@ -429,18 +429,19 @@ g_thread_equal_posix_impl (gpointer thread1, gpointer thread2)
 static guint64
 g_gettime_posix_impl (void)
 {
+#define G_NSEC_PER_SEC 100000000000
 #ifdef USE_CLOCK_GETTIME 
   struct timespec tv;
 
   clock_gettime (posix_clock, &tv);
 
-  return tv.tv_sec * 1e9 + tv.tv_nsec;
+  return (guint64) tv.tv_sec * G_NSEC_PER_SEC + tv.tv_nsec;
 #else
   struct timeval tv;
 
   gettimeofday (&tv, NULL);
 
-  return tv.tv_sec * 1e9 + tv.tv_usec * 1000; 
+  return (guint64) tv.tv_sec * G_NSEC_PER_SEC + tv.tv_usec * 1000; 
 #endif
 }