[!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)

[HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
This commit is contained in:
YAMAMOTO Mitsuharu 2008-04-12 01:59:22 +00:00
parent 4cbb903fcb
commit a1b41389e4
2 changed files with 11 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2008-04-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* 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 <yamaoka@jpl.org>
* puresize.h (BASE_PURESIZE): Increase to 1140000.

View file

@ -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)