diff options
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c index dbb77f77128..c29c4c8e7f6 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -1934,14 +1934,18 @@ allocate_string_data (s, nchars, nbytes) | |||
| 1934 | mmap'ed data typically have an address towards the top of the | 1934 | mmap'ed data typically have an address towards the top of the |
| 1935 | address space, which won't fit into an EMACS_INT (at least on | 1935 | address space, which won't fit into an EMACS_INT (at least on |
| 1936 | 32-bit systems with the current tagging scheme). --fx */ | 1936 | 32-bit systems with the current tagging scheme). --fx */ |
| 1937 | BLOCK_INPUT; | ||
| 1937 | mallopt (M_MMAP_MAX, 0); | 1938 | mallopt (M_MMAP_MAX, 0); |
| 1939 | UNBLOCK_INPUT; | ||
| 1938 | #endif | 1940 | #endif |
| 1939 | 1941 | ||
| 1940 | b = (struct sblock *) lisp_malloc (size + GC_STRING_EXTRA, MEM_TYPE_NON_LISP); | 1942 | b = (struct sblock *) lisp_malloc (size + GC_STRING_EXTRA, MEM_TYPE_NON_LISP); |
| 1941 | 1943 | ||
| 1942 | #ifdef DOUG_LEA_MALLOC | 1944 | #ifdef DOUG_LEA_MALLOC |
| 1943 | /* Back to a reasonable maximum of mmap'ed areas. */ | 1945 | /* Back to a reasonable maximum of mmap'ed areas. */ |
| 1946 | BLOCK_INPUT; | ||
| 1944 | mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); | 1947 | mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); |
| 1948 | UNBLOCK_INPUT; | ||
| 1945 | #endif | 1949 | #endif |
| 1946 | 1950 | ||
| 1947 | b->next_free = &b->first_data; | 1951 | b->next_free = &b->first_data; |
| @@ -4684,6 +4688,8 @@ returns nil, because real GC can't be done. */) | |||
| 4684 | if (pure_bytes_used_before_overflow) | 4688 | if (pure_bytes_used_before_overflow) |
| 4685 | return Qnil; | 4689 | return Qnil; |
| 4686 | 4690 | ||
| 4691 | CHECK_CONS_LIST (); | ||
| 4692 | |||
| 4687 | /* Don't keep undo information around forever. | 4693 | /* Don't keep undo information around forever. |
| 4688 | Do this early on, so it is no problem if the user quits. */ | 4694 | Do this early on, so it is no problem if the user quits. */ |
| 4689 | { | 4695 | { |
| @@ -4878,6 +4884,8 @@ returns nil, because real GC can't be done. */) | |||
| 4878 | 4884 | ||
| 4879 | UNBLOCK_INPUT; | 4885 | UNBLOCK_INPUT; |
| 4880 | 4886 | ||
| 4887 | CHECK_CONS_LIST (); | ||
| 4888 | |||
| 4881 | /* clear_marks (); */ | 4889 | /* clear_marks (); */ |
| 4882 | gc_in_progress = 0; | 4890 | gc_in_progress = 0; |
| 4883 | 4891 | ||