From e996a836e854934c0c45e17cfa26b22a8a1bc8bb Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Sat, 17 Sep 2011 18:07:39 -0400 Subject: [PATCH] Port g_cond_new to use GSlice Now that nothing inside of GLib is using g_cond_new(), we can implement it using GSlice. Since the implementations for POSIX and Windows are now the same, move it to gthread.c. --- glib/gthread-posix.c | 23 ----------------------- glib/gthread-win32.c | 22 ---------------------- glib/gthread.c | 18 ++++++++++++++++++ 3 files changed, 18 insertions(+), 45 deletions(-) diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c index 53ee362db..02b944f6d 100644 --- a/glib/gthread-posix.c +++ b/glib/gthread-posix.c @@ -223,29 +223,6 @@ g_cond_timedwait (GCond *cond, return FALSE; } -/* {{{1 new/free API */ - -GCond * -g_cond_new (void) -{ - GCond *cond; - - /* malloc() is temporary until all libglib users are ported away */ - cond = malloc (sizeof (GCond)); - if G_UNLIKELY (cond == NULL) - g_thread_abort (errno, "malloc"); - g_cond_init (cond); - - return cond; -} - -void -g_cond_free (GCond *cond) -{ - g_cond_clear (cond); - free (cond); -} - /* {{{1 GPrivate */ #include "glib.h" diff --git a/glib/gthread-win32.c b/glib/gthread-win32.c index 91510c5e3..d63864c7c 100644 --- a/glib/gthread-win32.c +++ b/glib/gthread-win32.c @@ -252,28 +252,6 @@ g_cond_timed_wait (GCond *cond, } } -/* {{{1 new/free API */ -GCond * -g_cond_new (void) -{ - GCond *cond; - - /* malloc() is temporary until all libglib users are ported away */ - cond = malloc (sizeof (GCond)); - if G_UNLIKELY (cond == NULL) - g_thread_abort (errno, "malloc"); - g_cond_init (cond); - - return cond; -} - -void -g_cond_free (GCond *cond) -{ - g_cond_clear (cond); - free (cond); -} - /* {{{1 GPrivate */ #include "glib.h" diff --git a/glib/gthread.c b/glib/gthread.c index 62d61165a..517f2053a 100644 --- a/glib/gthread.c +++ b/glib/gthread.c @@ -2591,3 +2591,21 @@ g_mutex_free (GMutex *mutex) g_mutex_clear (mutex); g_slice_free (GMutex, mutex); } + +GCond * +g_cond_new (void) +{ + GCond *cond; + + cond = g_slice_new (GCond); + g_cond_init (cond); + + return cond; +} + +void +g_cond_free (GCond *cond) +{ + g_cond_clear (cond); + g_slice_free (GCond, cond); +}