From: Matthias Clasen Date: Sun, 18 May 2008 19:15:32 +0000 (+0000) Subject: Bug 527214 – g_timer_elapsed() returns random values. X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=4b06cf6ce9f8c25be43895612b96674445a6442f;p=dana%2Fcg-glib.git Bug 527214 – g_timer_elapsed() returns random values. * glib/gtimer.c (g_timer_new()): Print warning if g_thread_init() has not been called yet. Patch by Mathias Hasselmann svn path=/trunk/; revision=6907 --- diff --git a/ChangeLog b/ChangeLog index 517699dc..f48fbf7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-05-18 Matthias Clasen + + Bug 527214 – g_timer_elapsed() returns random values. + + * glib/gtimer.c (g_timer_new()): + Print warning if g_thread_init() has not been called yet. + Patch by Mathias Hasselmann + 2008-05-12 Jeffrey Stedfast * glib/gchecksum.c (g_checksum_reset): New function to reset the diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index c14efa7c..dcfdebb9 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,11 @@ +2008-05-18 Matthias Clasen + + Bug 527214 – g_timer_elapsed() returns random values. + + * docs/reference/glib/tmpl/timers.sgml: + Add notes regarding gthreads dependency. + Patch by Mathias Hasselmann + 2008-05-17 Matthias Clasen * gio/gio-sections.txt: Add new api diff --git a/docs/reference/glib/tmpl/timers.sgml b/docs/reference/glib/tmpl/timers.sgml index d346e3f1..52290955 100644 --- a/docs/reference/glib/tmpl/timers.sgml +++ b/docs/reference/glib/tmpl/timers.sgml @@ -10,6 +10,10 @@ keep track of elapsed time This is done somewhat differently on different platforms, and can be tricky to get exactly right, so #GTimer provides a portable/convenient interface. + +#GTimer internally uses the threading API. Therefore g_thread_init() has to be +called before creating #GTimer instances. + @@ -30,6 +34,9 @@ Opaque datatype that records a start time. Creates a new timer, and starts timing (i.e. g_timer_start() is implicitly called for you). + +Call g_thread_init() before using this function. + @Returns: a new #GTimer. diff --git a/glib/gtimer.c b/glib/gtimer.c index a29e39dd..83f45ee3 100644 --- a/glib/gtimer.c +++ b/glib/gtimer.c @@ -69,6 +69,10 @@ g_timer_new (void) { GTimer *timer; + if (!g_thread_supported ()) + g_warning ("g_timer_new() called, but GThreads not initialized yet. " + "Call g_thread_init ()."); + timer = g_new (GTimer, 1); timer->active = TRUE;