From e2cd73a2ccabe8acae28719a0c3c1c03f2b5f9fb Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 13 May 2016 16:55:01 +0200 Subject: tst-mallocfork2: Fix race condition, use fewer resources The first SIGUSR1 signal could arrive when sigusr1_sender_pid was still 0. As a result, kill would send SIGSTOP to the entire process group. This would cause the test to hang before printing any output. This commit also adds a sched_yield to the signal source, so that it does not flood the parent process with signals it has never a chance to handle. Even with these changes, tst-mallocfork2 still fails reliably after the fix in commit commit 56290d6e762c1194547e73ff0b948cd79d3a1e03 (Increase fork signal safety for single-threaded processes) is backed out. --- ChangeLog | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 5329849343..a191caff00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2016-05-13 Florian Weimer + + Fix race condition in tst-mallocfork2, use fewer resources. + * malloc/tst-mallocfork2.c (sigusr1_handler): Do not send SIGSTOP + to current process group. + (signal_sender): Yield in the non-sleeping case. + 2016-05-13 Joseph Myers * conform/data/stdlib.h-data (a64l): Do not expect for [XPG3]. -- cgit v1.2.3