about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-05-12 08:54:17 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-05-12 15:26:55 +0200
commit56290d6e762c1194547e73ff0b948cd79d3a1e03 (patch)
treec6025736ee13b24a908e7d12496d47b636592345 /ChangeLog
parentcd065b68439076971640047cc6eaada27dcfd0f7 (diff)
downloadglibc-56290d6e762c1194547e73ff0b948cd79d3a1e03.tar.gz
glibc-56290d6e762c1194547e73ff0b948cd79d3a1e03.tar.xz
glibc-56290d6e762c1194547e73ff0b948cd79d3a1e03.zip
Increase fork signal safety for single-threaded processes [BZ #19703]
This provides a band-aid and addresses the scenario where fork is
called from a signal handler while the process is in the malloc
subsystem (or has acquired the libio list lock).  It does not
address the general issue of async-signal-safety of fork;
multi-threaded processes are not covered, and some glibc
subsystems have fork handlers which are not async-signal-safe.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index dee85ca13e..e623247085 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2016-05-12  Florian Weimer  <fweimer@redhat.com>
 
+	[BZ #19703]
+	Partially async-signal-safe fork for single-threaded processes.
+	* sysdeps/nptl/fork.c (__libc_fork): Introduce multiple_threads
+	variable.  Do not acquire and reset/release malloc and libio locks
+	in single-threaded processes.
+	* malloc/tst-mallocfork2.c: New file.
+	* malloc/Makefile (tests): Add it.
+
+2016-05-12  Florian Weimer  <fweimer@redhat.com>
+
 	* sysdeps/posix/getaddrinfo.c (gaih_inet_serv): Add tmpbuf
 	argument.  Use scratch buffer instead of extend_alloca.
 	(gethosts): Use scratch buffer instead of extend_alloca.