[glib] GThread: make refcounting public
- From: Ryan Lortie <ryanl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] GThread: make refcounting public
- Date: Thu, 13 Oct 2011 05:10:12 +0000 (UTC)
commit b0e73ca390d0f22baccc3636dd4d2e8e9cb0f58f
Author: Ryan Lortie <desrt desrt ca>
Date: Thu Oct 13 00:29:04 2011 -0400
GThread: make refcounting public
glib/glib.symbols | 2 ++
glib/gthread.c | 12 +++++++++++-
glib/gthread.h | 2 ++
3 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/glib/glib.symbols b/glib/glib.symbols
index cd88f17..29d43a4 100644
--- a/glib/glib.symbols
+++ b/glib/glib.symbols
@@ -1100,9 +1100,11 @@ g_thread_init_glib
g_thread_join
g_thread_new
g_thread_new_full
+g_thread_ref
g_thread_self
g_thread_set_priority
g_thread_use_default_impl
+g_thread_unref
g_thread_yield
g_static_mutex_free
g_static_mutex_get_mutex_impl
diff --git a/glib/gthread.c b/glib/gthread.c
index 29b102d..be3a12b 100644
--- a/glib/gthread.c
+++ b/glib/gthread.c
@@ -666,7 +666,17 @@ void
/* GThread {{{1 -------------------------------------------------------- */
-static void
+GThread *
+g_thread_ref (GThread *thread)
+{
+ GRealThread *real = (GRealThread *) thread;
+
+ g_atomic_int_inc (&real->ref_count);
+
+ return thread;
+}
+
+void
g_thread_unref (GThread *thread)
{
GRealThread *real = (GRealThread *) thread;
diff --git a/glib/gthread.h b/glib/gthread.h
index 072396f..5fa3362 100644
--- a/glib/gthread.h
+++ b/glib/gthread.h
@@ -137,6 +137,8 @@ struct _GOnce
# define G_TRYLOCK(name) g_mutex_trylock (&G_LOCK_NAME (name))
#endif /* !G_DEBUG_LOCKS */
+GThread * g_thread_ref (GThread *thread);
+void g_thread_unref (GThread *thread);
GThread * g_thread_new (const gchar *name,
GThreadFunc func,
gpointer data,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]