[clutter] Use a static mutex for the default Clutter lock
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] Use a static mutex for the default Clutter lock
- Date: Fri, 7 Oct 2011 14:11:19 +0000 (UTC)
commit 32b8217027a1bafa2b9ff1780253b2f849d708ea
Author: Emmanuele Bassi <ebassi linux intel com>
Date: Fri Oct 7 15:08:27 2011 +0100
Use a static mutex for the default Clutter lock
The Big Clutter Lockâ can now be a static GMutex, since GLib supports
them. We can also drop a bunch of checks given the recent changes in
GLib threading API.
clutter/clutter-main.c | 20 +++++---------------
1 files changed, 5 insertions(+), 15 deletions(-)
---
diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c
index 461c87d..9fe9acd 100644
--- a/clutter/clutter-main.c
+++ b/clutter/clutter-main.c
@@ -119,7 +119,7 @@ static ClutterMainContext *ClutterCntx = NULL;
G_LOCK_DEFINE_STATIC (ClutterCntx);
/* main lock and locking/unlocking functions */
-static GMutex *clutter_threads_mutex = NULL;
+static GMutex clutter_threads_mutex;
static GCallback clutter_threads_lock = NULL;
static GCallback clutter_threads_unlock = NULL;
@@ -694,15 +694,13 @@ clutter_main (void)
static void
clutter_threads_impl_lock (void)
{
- if (G_LIKELY (clutter_threads_mutex != NULL))
- g_mutex_lock (clutter_threads_mutex);
+ g_mutex_lock (&clutter_threads_mutex);
}
static void
clutter_threads_impl_unlock (void)
{
- if (G_LIKELY (clutter_threads_mutex != NULL))
- g_mutex_unlock (clutter_threads_mutex);
+ g_mutex_unlock (&clutter_threads_mutex);
}
/**
@@ -723,18 +721,10 @@ clutter_threads_impl_unlock (void)
void
clutter_threads_init (void)
{
- if (!g_thread_supported ())
- g_error ("g_thread_init() must be called before clutter_threads_init()");
-
- if (clutter_threads_mutex != NULL)
- return;
-
- clutter_threads_mutex = g_mutex_new ();
-
- if (!clutter_threads_lock)
+ if (clutter_threads_lock == NULL)
clutter_threads_lock = clutter_threads_impl_lock;
- if (!clutter_threads_unlock)
+ if (clutter_threads_unlock == NULL)
clutter_threads_unlock = clutter_threads_impl_unlock;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]