summaryrefslogtreecommitdiff
path: root/src/ralloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ralloc.c')
-rw-r--r--src/ralloc.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/ralloc.c b/src/ralloc.c
index 5373212a483..d1ce3be24fc 100644
--- a/src/ralloc.c
+++ b/src/ralloc.c
@@ -1150,6 +1150,24 @@ r_alloc_init ()
virtual_break_value = break_value = first_heap->bloc_start = first_heap->end;
use_relocatable_buffers = 1;
}
+
+#if defined (emacs) && defined (DOUG_LEA_MALLOC)
+
+/* Reinitialize the morecore hook variables after restarting a dumped
+ Emacs. This is needed when using Doug Lea's malloc from GNU libc. */
+void
+r_alloc_reinit ()
+{
+ /* Only do this if the hook has been reset, so that we don't get an
+ infinite loop, in case Emacs was linked statically. */
+ if (__morecore != r_alloc_sbrk)
+ {
+ real_morecore = __morecore;
+ __morecore = r_alloc_sbrk;
+ }
+}
+#endif
+
#ifdef DEBUG
#include <assert.h>