Mercurial > emacs
changeset 24405:61704c572291
(main) [DOUG_LEA_MALLOC]: Work around a bug in glibc's
malloc.
author | Andreas Schwab <schwab@suse.de> |
---|---|
date | Fri, 26 Feb 1999 09:23:52 +0000 |
parents | f401b26570a4 |
children | 76205fb50ca1 |
files | src/emacs.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/emacs.c Fri Feb 26 07:07:13 1999 +0000 +++ b/src/emacs.c Fri Feb 26 09:23:52 1999 +0000 @@ -103,6 +103,9 @@ extern void *malloc_get_state (); /* From glibc, a routine that overwrites the malloc internal state. */ extern void malloc_set_state (); +/* Non-zero if the MALLOC_CHECK_ enviroment variable was set while + dumping. Used to work around a bug in glibc's malloc. */ +int malloc_using_checking; #endif /* Variable whose value is symbol giving operating system type. */ @@ -565,9 +568,16 @@ #ifdef DOUG_LEA_MALLOC if (initialized) { + if (!malloc_using_checking) + /* Work around a bug in glibc's malloc. MALLOC_CHECK_ must be + ignored if the heap to be restored was constructed without + malloc checking. */ + unsetenv ("MALLOC_CHECK_"); malloc_set_state (malloc_state_ptr); free (malloc_state_ptr); } + else + malloc_using_checking = getenv ("MALLOC_CHECK_") != NULL; #endif #ifdef RUN_TIME_REMAP