diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2013-07-01 14:06:12 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2013-07-01 14:06:12 -0700 |
commit | 8f43ce497c3fcd76d0d3be2d8a0506c53c757fb3 (patch) | |
tree | 196afeabe60fd7b5e2b1ec27e8d8f793c32edc11 /src/emacs.c | |
parent | 24827db9c4dd4597715958a3f6178cd2173251e1 (diff) | |
download | emacs-8f43ce497c3fcd76d0d3be2d8a0506c53c757fb3.tar.gz |
Fix bug re noninteractive multithreaded memory allocation.
* emacs.c (malloc_enable_thread): Hoist extern decl to top level.
(main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
Invoke malloc_enable_thread even when not interactive.
Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
* process.c (init_process_emacs) [CYGWIN]: Tickle glib even
in this case, since the underlying bug has now been fixed.
Diffstat (limited to 'src/emacs.c')
-rw-r--r-- | src/emacs.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/emacs.c b/src/emacs.c index 77ae977b37c..08be786de95 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -127,6 +127,8 @@ extern int malloc_set_state (void*); /* True if the MALLOC_CHECK_ environment variable was set while dumping. Used to work around a bug in glibc's malloc. */ static bool malloc_using_checking; +#elif defined HAVE_PTHREAD && !defined SYSTEM_MALLOC +extern void malloc_enable_thread (void); #endif Lisp_Object Qfile_name_handler_alist; @@ -1074,13 +1076,8 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem #endif /* DOS_NT */ } -#if defined (HAVE_PTHREAD) && !defined (SYSTEM_MALLOC) && !defined (DOUG_LEA_MALLOC) - if (! noninteractive) - { - extern void malloc_enable_thread (void); - - malloc_enable_thread (); - } +#if defined HAVE_PTHREAD && !defined SYSTEM_MALLOC && !defined DOUG_LEA_MALLOC + malloc_enable_thread (); #endif init_signals (dumping); |