Commit 4d09bcf6 authored by Paul Eggert's avatar Paul Eggert

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

Fixes: debbugs:8800
parent e7156492
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
......
......@@ -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;
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment