diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2011-12-16 11:47:36 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2011-12-16 13:37:43 +0100 |
commit | 887793dbb7d29bbc81b1e80e056b0f2a4b608423 (patch) | |
tree | d02f23276d4f7c325914a2825e75b92fc78f3730 /src/libtracker-common | |
parent | c73d3040911cd3bc81612460341263f0439dc894 (diff) | |
download | tracker-887793dbb7d29bbc81b1e80e056b0f2a4b608423.tar.gz |
libtracker-common: use GRecMutex if GLib >= 2.31
Since 2.31, GStaticRecMutex is deprecated.
Diffstat (limited to 'src/libtracker-common')
-rw-r--r-- | src/libtracker-common/tracker-locale.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libtracker-common/tracker-locale.c b/src/libtracker-common/tracker-locale.c index 794786957..2463e405c 100644 --- a/src/libtracker-common/tracker-locale.c +++ b/src/libtracker-common/tracker-locale.c @@ -45,7 +45,12 @@ static const gchar *locale_names[TRACKER_LOCALE_LAST] = { /* Already initialized? */ static gboolean initialized; + +#if GLIB_CHECK_VERSION (2,31,0) +static GRecMutex locales_mutex; +#else static GStaticRecMutex locales_mutex = G_STATIC_REC_MUTEX_INIT; +#endif const gchar* tracker_locale_get_name (guint i) @@ -58,7 +63,11 @@ void tracker_locale_set (TrackerLocaleID id, const gchar *value) { +#if GLIB_CHECK_VERSION (2,31,0) + g_rec_mutex_lock (&locales_mutex); +#else g_static_rec_mutex_lock (&locales_mutex); +#endif if (current_locales[id]) { g_debug ("Locale '%s' was changed from '%s' to '%s'", @@ -98,7 +107,11 @@ tracker_locale_set (TrackerLocaleID id, break; } +#if GLIB_CHECK_VERSION (2,31,0) + g_rec_mutex_unlock (&locales_mutex); +#else g_static_rec_mutex_unlock (&locales_mutex); +#endif } void @@ -165,13 +178,21 @@ tracker_locale_get (TrackerLocaleID id) g_return_val_if_fail (initialized, NULL); +#if GLIB_CHECK_VERSION (2,31,0) + g_rec_mutex_lock (&locales_mutex); +#else g_static_rec_mutex_lock (&locales_mutex); +#endif /* Always return a duplicated string, as the locale may change at any * moment */ locale = g_strdup (current_locales[id]); +#if GLIB_CHECK_VERSION (2,31,0) + g_rec_mutex_unlock (&locales_mutex); +#else g_static_rec_mutex_unlock (&locales_mutex); +#endif return locale; } |