1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-12 18:55:13 -08:00

* alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacO).

Fixes: debbugs:8800
This commit is contained in:
Paul Eggert 2011-06-05 21:54:23 -07:00
parent e71564921e
commit 4d09bcf621
2 changed files with 17 additions and 6 deletions

View file

@ -1,3 +1,11 @@
2011-06-06 Paul Eggert <eggert@cs.ucla.edu>
* alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800).
Do not assume that spare memory exists; that assumption is valid
only if SYSTEM_MALLOC.
(LARGE_REQUEST): New macro, so that the issue of large requests
is separated from the issue of spare memory.
2011-06-05 Andreas Schwab <schwab@linux-m68k.org>
* editfns.c (Fformat): Correctly handle zero flag with hexadecimal

View file

@ -196,6 +196,12 @@ static char *spare_memory[7];
#define SPARE_MEMORY (1 << 14)
#endif
#ifdef SYSTEM_MALLOC
# define LARGE_REQUEST (1 << 14)
#else
# define LARGE_REQUEST SPARE_MEMORY
#endif
/* Number of extra blocks malloc should get when it needs more core. */
static int malloc_hysteresis;
@ -3283,15 +3289,12 @@ memory_full (size_t nbytes)
{
/* Do not go into hysterics merely because a large request failed. */
int enough_free_memory = 0;
if (SPARE_MEMORY < nbytes)
if (LARGE_REQUEST < nbytes)
{
void *p = malloc (SPARE_MEMORY);
void *p = malloc (LARGE_REQUEST);
if (p)
{
if (spare_memory[0])
free (p);
else
spare_memory[0] = p;
free (p);
enough_free_memory = 1;
}
}