diff options
author | Florian Weimer <fweimer@redhat.com> | 2016-05-13 16:55:01 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-05-13 20:43:14 +0200 |
commit | e2cd73a2ccabe8acae28719a0c3c1c03f2b5f9fb (patch) | |
tree | aef0595da097dc402f27a64dde84f3713f9ee510 /ChangeLog | |
parent | fdbdbc83a53cfee6edff9f737e188a56925f1db1 (diff) | |
download | glibc-e2cd73a2ccabe8acae28719a0c3c1c03f2b5f9fb.zip glibc-e2cd73a2ccabe8acae28719a0c3c1c03f2b5f9fb.tar.gz glibc-e2cd73a2ccabe8acae28719a0c3c1c03f2b5f9fb.tar.bz2 |
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,10 @@ +2016-05-13 Florian Weimer <fweimer@redhat.com> + + 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 <joseph@codesourcery.com> * conform/data/stdlib.h-data (a64l): Do not expect for [XPG3]. |