Port g_cond_new to use GSlice
authorRyan Lortie <desrt@desrt.ca>
Sat, 17 Sep 2011 22:07:39 +0000 (18:07 -0400)
committerRyan Lortie <desrt@desrt.ca>
Wed, 21 Sep 2011 20:06:53 +0000 (16:06 -0400)
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
glib/gthread-win32.c
glib/gthread.c

index 53ee362..02b944f 100644 (file)
@@ -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"
index 91510c5..d63864c 100644 (file)
@@ -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"
index 62d6116..517f205 100644 (file)
@@ -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);
+}