diff --git a/ChangeLog b/ChangeLog index 119f100d3..a78994745 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-01-15 Matthias Clasen + + Merge from trunk: + + * glib/gthread.c: + * gthread/gthread-posix.c: Correct the gettime calculations + once more. (#395203, Chris Wilson) + 2007-01-15 Tor Lillqvist * glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of diff --git a/glib/gthread.c b/glib/gthread.c index 17d737cc8..ad1b77fbd 100644 --- a/glib/gthread.c +++ b/glib/gthread.c @@ -546,6 +546,8 @@ g_thread_fail (void) g_error ("The thread system is not yet initialized."); } +#define G_NSEC_PER_SEC 1000000000 + static guint64 gettime (void) { @@ -560,7 +562,7 @@ gettime (void) gettimeofday (&tv, NULL); - return (guint64) tv.tv_sec * 1000000000 + tv.tv_usec * 1000; + return (guint64) tv.tv_sec * G_NSEC_PER_SEC + tv.tv_usec * (G_NSEC_PER_SEC / G_USEC_PER_SEC); #endif } diff --git a/gthread/gthread-posix.c b/gthread/gthread-posix.c index 124d452e1..711fcd3a7 100644 --- a/gthread/gthread-posix.c +++ b/gthread/gthread-posix.c @@ -429,7 +429,6 @@ 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; @@ -441,7 +440,7 @@ g_gettime_posix_impl (void) gettimeofday (&tv, NULL); - return (guint64) tv.tv_sec * G_NSEC_PER_SEC + tv.tv_usec * 1000; + return (guint64) tv.tv_sec * G_NSEC_PER_SEC + tv.tv_usec * (G_NSEC_PER_SEC / G_USEC_PER_SEC); #endif }