From: YAMAMOTO Mitsuharu Date: Sat, 12 Apr 2008 01:59:22 +0000 (+0000) Subject: [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc) X-Git-Tag: emacs-pretest-22.2.90~188 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a1b41389e4069747940c87b477f11852ec86d9f3;p=emacs.git [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc) [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex. --- diff --git a/src/ChangeLog b/src/ChangeLog index 0dabe60be18..56676ea95d6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2008-04-12 YAMAMOTO Mitsuharu + + * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc) + [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex. + 2008-04-11 Katsumi Yamaoka * puresize.h (BASE_PURESIZE): Increase to 1140000. diff --git a/src/alloc.c b/src/alloc.c index 153c54e0264..46887bb332c 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -1356,6 +1356,7 @@ void uninterrupt_malloc () { #ifdef HAVE_GTK_AND_PTHREAD +#ifdef DOUG_LEA_MALLOC pthread_mutexattr_t attr; /* GLIBC has a faster way to do this, but lets keep it portable. @@ -1363,6 +1364,11 @@ uninterrupt_malloc () pthread_mutexattr_init (&attr); pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init (&alloc_mutex, &attr); +#else /* !DOUG_LEA_MALLOC */ + /* Some systems such as Solaris 2.6 doesn't have a recursive mutex, + and the bundled gmalloc.c doesn't require it. */ + pthread_mutex_init (&alloc_mutex, NULL); +#endif /* !DOUG_LEA_MALLOC */ #endif /* HAVE_GTK_AND_PTHREAD */ if (__free_hook != emacs_blocked_free)