[glib] gthread-posix: Don't use gslice allocated GRecMutex
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gthread-posix: Don't use gslice allocated GRecMutex
- Date: Tue, 26 Nov 2013 19:35:23 +0000 (UTC)
commit c9cfa7d1d55291503c8adb8a1cca24781e4a8da4
Author: Stef Walter <stefw gnome org>
Date: Thu Oct 31 23:03:58 2013 +0100
gthread-posix: Don't use gslice allocated GRecMutex
This leads to problems during cleanup, and seems strange
to have locks defined in terms of things that need locking.
https://bugzilla.gnome.org/show_bug.cgi?id=711753
glib/gthread-posix.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c
index f5037d0..786dcb4 100644
--- a/glib/gthread-posix.c
+++ b/glib/gthread-posix.c
@@ -268,7 +268,10 @@ g_rec_mutex_impl_new (void)
pthread_mutexattr_t attr;
pthread_mutex_t *mutex;
- mutex = g_slice_new (pthread_mutex_t);
+ mutex = malloc (sizeof (pthread_mutex_t));
+ if G_UNLIKELY (mutex == NULL)
+ g_thread_abort (errno, "malloc");
+
pthread_mutexattr_init (&attr);
pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
pthread_mutex_init (mutex, &attr);
@@ -281,7 +284,7 @@ static void
g_rec_mutex_impl_free (pthread_mutex_t *mutex)
{
pthread_mutex_destroy (mutex);
- g_slice_free (pthread_mutex_t, mutex);
+ free (mutex);
}
static pthread_mutex_t *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]