Remove MALLOC_FAILURE_ACTION use in malloc

This commit is contained in:
Ulrich Drepper 2011-09-10 22:12:38 -04:00
parent 02d46fc4b9
commit 8e58439c92
3 changed files with 11 additions and 23 deletions

View File

@ -1,5 +1,8 @@
2011-09-10 Ulrich Drepper <drepper@gmail.com>
* malloc/malloc.c: Replace MALLOC_FAILURE_ACTION with use of __set_errno.
* malloc/hooks.c: Likewise.
* malloc/arena.c (ptmalloc_init_minimal): Removed. Initialize all
variables statically.
(narenas): Initialize.

View File

@ -204,7 +204,7 @@ top_check(void)
new_brk = (char*)(MORECORE (sbrk_size));
if (new_brk == (char*)(MORECORE_FAILURE))
{
MALLOC_FAILURE_ACTION;
__set_errno (ENOMEM);
return -1;
}
/* Call the `morecore' hook if necessary. */
@ -225,7 +225,7 @@ malloc_check(size_t sz, const void *caller)
void *victim;
if (sz+1 == 0) {
MALLOC_FAILURE_ACTION;
__set_errno (ENOMEM);
return NULL;
}
@ -266,7 +266,7 @@ realloc_check(void* oldmem, size_t bytes, const void *caller)
unsigned char *magic_p;
if (bytes+1 == 0) {
MALLOC_FAILURE_ACTION;
__set_errno (ENOMEM);
return NULL;
}
if (oldmem == 0) return malloc_check(bytes, NULL);
@ -334,7 +334,7 @@ memalign_check(size_t alignment, size_t bytes, const void *caller)
if (alignment < MINSIZE) alignment = MINSIZE;
if (bytes+1 == 0) {
MALLOC_FAILURE_ACTION;
__set_errno (ENOMEM);
return NULL;
}
(void)mutex_lock(&main_arena.mutex);

View File

@ -184,7 +184,6 @@
USE_MALLOC_LOCK NOT defined
MALLOC_DEBUG NOT defined
REALLOC_ZERO_BYTES_FREES 1
MALLOC_FAILURE_ACTION errno = ENOMEM
TRIM_FASTBINS 0
Options for customizing MORECORE:
@ -233,7 +232,7 @@ extern "C" {
#include <unistd.h>
#include <stdio.h> /* needed for malloc_stats */
#include <errno.h> /* needed for optional MALLOC_FAILURE_ACTION */
#include <errno.h>
/* For uintptr_t. */
#include <stdint.h>
@ -478,20 +477,6 @@ void *(*__morecore)(ptrdiff_t) = __default_morecore;
({ __typeof (val) _v; asm ("" : "=r" (_v) : "0" (val)); _v; })
/*
MALLOC_FAILURE_ACTION is the action to take before "return 0" when
malloc fails to be able to return memory, either because memory is
exhausted or because of illegal arguments.
By default, sets errno if running on STD_C platform, else does nothing.
*/
#ifndef MALLOC_FAILURE_ACTION
#define MALLOC_FAILURE_ACTION \
errno = ENOMEM;
#endif
/*
MORECORE-related declarations. By default, rely on sbrk
*/
@ -1401,7 +1386,7 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#define checked_request2size(req, sz) \
if (REQUEST_OUT_OF_RANGE(req)) { \
MALLOC_FAILURE_ACTION; \
__set_errno (ENOMEM); \
return 0; \
} \
(sz) = request2size(req);
@ -2774,7 +2759,7 @@ static void* sYSMALLOc(INTERNAL_SIZE_T nb, mstate av)
}
/* catch all failure paths */
MALLOC_FAILURE_ACTION;
__set_errno (ENOMEM);
return 0;
}
@ -3247,7 +3232,7 @@ public_cALLOc(size_t n, size_t elem_size)
(((INTERNAL_SIZE_T) 1) << (8 * sizeof (INTERNAL_SIZE_T) / 2))
if (__builtin_expect ((n | elem_size) >= HALF_INTERNAL_SIZE_T, 0)) {
if (elem_size != 0 && bytes / elem_size != n) {
MALLOC_FAILURE_ACTION;
__set_errno (ENOMEM);
return 0;
}
}