summaryrefslogtreecommitdiff
path: root/src/libtracker-common
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-12-16 11:47:36 +0100
committerAleksander Morgado <aleksander@lanedo.com>2011-12-16 13:37:43 +0100
commit887793dbb7d29bbc81b1e80e056b0f2a4b608423 (patch)
treed02f23276d4f7c325914a2825e75b92fc78f3730 /src/libtracker-common
parentc73d3040911cd3bc81612460341263f0439dc894 (diff)
downloadtracker-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.c21
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;
}