about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-04-14 09:18:30 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-04-14 09:18:30 +0200
commit8a727af925be63aa6ea0f5f90e16751fd541626b (patch)
tree6087805d375e12f7e3b1ad8cbf60dac3a2c9af96 /ChangeLog
parentae9e94e744c2328b57c6586584b0cd776b7b4ca8 (diff)
downloadglibc-8a727af925be63aa6ea0f5f90e16751fd541626b.tar.gz
glibc-8a727af925be63aa6ea0f5f90e16751fd541626b.tar.xz
glibc-8a727af925be63aa6ea0f5f90e16751fd541626b.zip
malloc: Remove malloc hooks from fork handler
The fork handler now runs so late that there is no risk anymore that
other fork handlers in the same thread use malloc, so it is no
longer necessary to install malloc hooks which made a subset
of malloc functionality available to the thread that called fork.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog17
1 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 58ae227b56..b9038209f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
 2016-04-14  Florian Weimer  <fweimer@redhat.com>
 
+	Remove malloc hooks from fork handler.  They are no longer needed
+	because malloc runs right before fork, and no malloc calls from
+	other fork handlers are not possible anymore.
+	* malloc/malloc.c (malloc_atfork, free_atfork): Remove
+	declarations.
+	* malloc/arena.c (save_malloc_hook, save_free_hook, save_arena)
+	(ATFORK_ARENA_PTR, malloc_atfork, free_atfork)
+	(atfork_recursive_cntr): Remove.
+	(__malloc_fork_lock_parent): Do not override malloc hooks and
+	thread_arena.
+	(__malloc_fork_unlock_parent): Do not restore malloc hooks and
+	thread_arena.
+	(__malloc_fork_unlock_child): Do not restore malloc hooks.  Use
+	thread_arena instead of save_arena.
+
+2016-04-14  Florian Weimer  <fweimer@redhat.com>
+
 	* sysdeps/nptl/malloc-machine.h (ATFORK_MEM, __dso_handle)
 	(thread_atfork, thread_atfork_static): Remove.
 	* sysdeps/mach/hurd/malloc-machine.h: