Add g_get_real_time() for wall-clock int64 micros

Similar in spirit to g_get_monotonic_time().
This commit is contained in:
Ryan Lortie 2010-11-01 16:40:36 -04:00
parent 38e7aa9855
commit 5dab4727ee
4 changed files with 33 additions and 1 deletions

View File

@ -1322,6 +1322,7 @@ g_time_val_to_iso8601
<SUBSECTION>
g_get_monotonic_time
g_get_real_time
<SUBSECTION>
GDate

View File

@ -685,6 +685,7 @@ g_child_watch_add_full
g_child_watch_source_new
g_get_current_time
g_get_monotonic_time
g_get_real_time
g_main_context_acquire
g_main_context_add_poll
g_main_context_check

View File

@ -1777,8 +1777,10 @@ g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
/**
* g_get_current_time:
* @result: #GTimeVal structure in which to store current time.
*
*
* Equivalent to the UNIX gettimeofday() function, but portable.
*
* You may find g_get_real_time() to be more convenient.
**/
void
g_get_current_time (GTimeVal *result)
@ -1813,6 +1815,33 @@ g_get_current_time (GTimeVal *result)
#endif
}
/**
* g_get_real_time:
*
* Queries the system wall-clock time.
*
* This call is functionally equivalent to g_get_current_time() except
* that the return value is often more convenient than dealing with a
* #GTimeVal.
*
* You should only use this call if you are actually interested in the real
* wall-clock time. g_get_monotonic_time() is probably more useful for
* measuring intervals.
*
* Returns: the number of microseconds since January 1, 1970 UTC.
*
* Since: 2.28
**/
gint64
g_get_real_time (void)
{
GTimeVal tv;
g_get_current_time (&tv);
return (((gint64) tv.tv_sec) * 1000000) + tv.tv_usec;
}
/**
* g_get_monotonic_time:
*

View File

@ -384,6 +384,7 @@ GSource *g_timeout_source_new_seconds (guint interval);
*/
void g_get_current_time (GTimeVal *result);
gint64 g_get_monotonic_time (void);
gint64 g_get_real_time (void);
/* ============== Compat main loop stuff ================== */