mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 19:36:18 +01:00
gtimezone: Tidy up UTC timezone creation
Move the separate function inline using g_once_init_{enter,leave}(), rather than g_once(). This marginally improves performance, taking 0.39s to create 10000000 UTC timezones, rather than 0.43s previously. (Who cares?) Follow-up to !1105. Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
parent
73d557981d
commit
a8ef5fdf8a
@ -1676,20 +1676,19 @@ g_time_zone_new (const gchar *identifier)
|
|||||||
*
|
*
|
||||||
* Since: 2.26
|
* Since: 2.26
|
||||||
**/
|
**/
|
||||||
static gpointer
|
|
||||||
g_time_zone_utc_init (gpointer data)
|
|
||||||
{
|
|
||||||
return g_time_zone_new ("UTC");
|
|
||||||
}
|
|
||||||
|
|
||||||
GTimeZone *
|
GTimeZone *
|
||||||
g_time_zone_new_utc (void)
|
g_time_zone_new_utc (void)
|
||||||
{
|
{
|
||||||
static GOnce utc_once = G_ONCE_INIT;
|
static GTimeZone *utc = NULL;
|
||||||
|
static gsize initialised;
|
||||||
|
|
||||||
g_once (&utc_once, g_time_zone_utc_init, NULL);
|
if (g_once_init_enter (&initialised))
|
||||||
|
{
|
||||||
|
utc = g_time_zone_new ("UTC");
|
||||||
|
g_once_init_leave (&initialised, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
return g_time_zone_ref ((GTimeZone *)utc_once.retval);
|
return g_time_zone_ref (utc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user