1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00

- In libunix.a malloc(), calloc() and realloc() no longer treat a

request to allocate 0 bytes as an error, returning NULL. They all
  return a pointer sized memory chunk (= four bytes) initialized to
  NULL (= 0) instead.

- The alloca() implementation which allocates memory from the system
  rather than the local stack frame is thread-safe now. It also
  interacts with the realloc(), calloc(), free() and malloc() functions
  in that the alloca() cleanup routine is called once alloca() has
  done its job. If all the memory allocated through alloca() has been
  released no further calls to the cleanup function will be made.

- In the thread-safe library, realloc() permitted two different overlapping
  calls to succeed in trying to reallocate the same chunk of memory due to
  a race condition. Fixed.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15070 87f5fb63-7c3d-0410-a384-fd976d0f7a62
This commit is contained in:
Olaf Barthel
2005-11-27 09:26:55 +00:00
parent 06e5f437d9
commit 1153e58366
11 changed files with 90 additions and 54 deletions

View File

@ -1,5 +1,5 @@
#
# $Id: smakefile,v 1.56 2005-11-19 17:11:22 obarthel Exp $
# $Id: smakefile,v 1.57 2005-11-27 09:26:55 obarthel Exp $
#
# :ts=8
#
@ -482,6 +482,7 @@ STDLIB_OBJ = \
stdlib_abort.o \
stdlib_abs.o \
stdlib_alloca.o \
stdlib_alloca_cleanup.o \
stdlib_assertion_failure.o \
stdlib_atexit.o \
stdlib_atof.o \