From 296f8c148adc2c891f405dcae8a6844bb6e9314d Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 10 Apr 2000 09:24:44 +0000 Subject: Add a missing THREAD_UNLOCK() found missing by Valentin Nechayev Remove allocation failure check from 'A' option, the 'X' option does this as a standalone check now. --- lib/libc/stdlib/malloc.3 | 6 +----- lib/libc/stdlib/malloc.c | 4 +--- 2 files changed, 2 insertions(+), 8 deletions(-) (limited to 'lib/libc') diff --git a/lib/libc/stdlib/malloc.3 b/lib/libc/stdlib/malloc.3 index f384a14..fe2500f 100644 --- a/lib/libc/stdlib/malloc.3 +++ b/lib/libc/stdlib/malloc.3 @@ -152,7 +152,7 @@ and lowercase means that the behavior is not set, or off. .Bl -tag -width indent .It A All warnings (except for the warning about unknown -flags being set), and failure to allocate memory become fatal. +flags being set) become fatal. The process will call .Xr abort 3 in these cases. @@ -370,10 +370,6 @@ The allocation functions were compiled with .Dq EXTRA_SANITY defined, and an error was found during the additional error checking. Consult the source code for further information. -.It "allocation failed -If the -.Dq A -option is specified it is a fatal error for an allocation function to fail. .It "mmap(2) failed, check limits This most likely means that the system is dangerously overloaded or that the process' limits are incorrectly specified. diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index ac0dd48..4121718 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -715,9 +715,6 @@ imalloc(size_t size) else result = malloc_pages(size); - if (malloc_abort && !result) - wrterror("allocation failed.\n"); - if (malloc_zero && result) memset(result, 0, size); @@ -1067,6 +1064,7 @@ malloc(size_t size) if (malloc_active++) { wrtwarning("recursive call.\n"); malloc_active--; + THREAD_UNLOCK(); return (0); } if (!malloc_started) -- cgit v1.1