GitLab repository storage has been migrated to hashed layout. Please contact Infrastructure team if you notice any issues with repositories or hooks.

Commit 86a32e7d authored by Tor Lillqvist's avatar Tor Lillqvist Committed by Tor Lillqvist

On Win32, use GetSystemTimeAsFileTime() instead of GetTickCount().

2005-03-20  Tor Lillqvist  <tml@novell.com>

	* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
	of GetTickCount(). (#159507)
parent 398008da
2005-03-20 Tor Lillqvist <tml@novell.com>
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
* glib/gmessages.c (g_log_default_handler)
* glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
program name from the system to g_get_prgname(). Do output the pid
......
2005-03-20 Tor Lillqvist <tml@novell.com>
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
* glib/gmessages.c (g_log_default_handler)
* glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
program name from the system to g_get_prgname(). Do output the pid
......
2005-03-20 Tor Lillqvist <tml@novell.com>
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
* glib/gmessages.c (g_log_default_handler)
* glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
program name from the system to g_get_prgname(). Do output the pid
......
2005-03-20 Tor Lillqvist <tml@novell.com>
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
* glib/gmessages.c (g_log_default_handler)
* glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
program name from the system to g_get_prgname(). Do output the pid
......
......@@ -52,8 +52,8 @@
struct _GTimer
{
#ifdef G_OS_WIN32
DWORD start;
DWORD end;
guint64 start;
guint64 end;
#else /* !G_OS_WIN32 */
struct timeval start;
struct timeval end;
......@@ -64,7 +64,7 @@ struct _GTimer
#ifdef G_OS_WIN32
# define GETTIME(v) \
v = GetTickCount ()
GetSystemTimeAsFileTime ((FILETIME *)&v)
#else /* !G_OS_WIN32 */
# define GETTIME(v) \
gettimeofday (&v, NULL)
......@@ -123,7 +123,7 @@ void
g_timer_continue (GTimer *timer)
{
#ifdef G_OS_WIN32
DWORD elapsed;
guint64 elapsed;
#else
struct timeval elapsed;
#endif /* G_OS_WIN32 */
......@@ -176,7 +176,9 @@ g_timer_elapsed (GTimer *timer,
gulong *microseconds)
{
gdouble total;
#ifndef G_OS_WIN32
#ifdef G_OS_WIN32
gint64 elapsed;
#else
struct timeval elapsed;
#endif /* G_OS_WIN32 */
......@@ -184,23 +186,14 @@ g_timer_elapsed (GTimer *timer,
#ifdef G_OS_WIN32
if (timer->active)
timer->end = GetTickCount ();
GETTIME (timer->end);
/* Check for wraparound, which happens every 49.7 days. */
if (timer->end < timer->start)
total = (UINT_MAX - (timer->start - timer->end - 1)) / 1000.0;
else
total = (timer->end - timer->start) / 1000.0;
elapsed = timer->end - timer->start;
total = elapsed / 1e7;
if (microseconds)
{
if (timer->end < timer->start)
*microseconds =
((UINT_MAX - (timer->start - timer->end - 1)) % 1000) * 1000;
else
*microseconds =
((timer->end - timer->start) % 1000) * 1000;
}
*microseconds = (elapsed / 10) % 1000000;
#else /* !G_OS_WIN32 */
if (timer->active)
gettimeofday (&timer->end, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment