From aad4b9d1e82a32a2816eef0332b7ccba67370b91 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Mon, 10 Apr 2000 09:24:44 +0000 Subject: [PATCH] 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(-) diff --git a/lib/libc/stdlib/malloc.3 b/lib/libc/stdlib/malloc.3 index f384a14d4a5..fe2500f9a7b 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 ac0dd485093..412171840df 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)