]> git.eshelyaron.com Git - emacs.git/commitdiff
Always map new memory for buffers after dumping.
authorFabrice Popineau <fabrice.popineau@gmail.com>
Sat, 17 May 2014 07:14:59 +0000 (10:14 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 17 May 2014 07:14:59 +0000 (10:14 +0300)
 src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
 memory for every buffer that was dumped.

src/ChangeLog
src/buffer.c

index f82a6a298ae677978d89f67dc806e1ca3a359df7..a89d14bbe23b1ffb60df8a316b2c575e9b13c037 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-17  Fabrice Popineau  <fabrice.popineau@gmail.com>
+
+       * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
+       memory for every buffer that was dumped.
+
 2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * fns.c (Freverse): Allow vectors, bool vectors and strings.
index a1142479d046737f77ee89ab457e396a3415a56d..1f0bd3f0970b735d6ee8f439604b21b284a19fb9 100644 (file)
@@ -5336,16 +5336,17 @@ init_buffer (void)
   ptrdiff_t len;
 
 #ifdef USE_MMAP_FOR_BUFFERS
- {
-   /* When using the ralloc implementation based on mmap(2), buffer
-      text pointers will have been set to null in the dumped Emacs.
-      Map new memory.  */
-   struct buffer *b;
-
-   FOR_EACH_BUFFER (b)
-     if (b->text->beg == NULL)
-       enlarge_buffer_text (b, 0);
- }
+  {
+    struct buffer *b;
+
+    /* We cannot dump buffers with meaningful addresses that can be
+       used by the dumped Emacs.  We map new memory for them here.  */
+    FOR_EACH_BUFFER (b)
+      {
+       b->text->beg = NULL;
+       enlarge_buffer_text (b, 0);
+      }
+  }
 #endif /* USE_MMAP_FOR_BUFFERS */
 
   Fset_buffer (Fget_buffer_create (build_string ("*scratch*")));