From 2c7dbe9c73c94ce2ffab2166a6fa5207c446ff2b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 12 Jan 2007 05:55:16 +0000 Subject: [PATCH] Fix errors in the recently moved time calculations. (#395203, Chris 2007-01-12 Matthias Clasen * 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 | 7 +++++++ glib/gthread.c | 2 +- glib/gtimer.c | 4 ++-- gthread/gthread-posix.c | 5 +++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 210859f..d4979ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-01-12 Matthias Clasen + + * 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 * configure.in: Actually link gthread against librt. diff --git a/glib/gthread.c b/glib/gthread.c index a2fa8b9..de8855f 100644 --- a/glib/gthread.c +++ b/glib/gthread.c @@ -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 } diff --git a/glib/gtimer.c b/glib/gtimer.c index bedaf47..be1dc26 100644 --- a/glib/gtimer.c +++ b/glib/gtimer.c @@ -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; } diff --git a/gthread/gthread-posix.c b/gthread/gthread-posix.c index d05165c..124d452 100644 --- a/gthread/gthread-posix.c +++ b/gthread/gthread-posix.c @@ -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 } -- 2.7.4