diff options
author | Karl Williamson <khw@cpan.org> | 2022-10-19 21:21:28 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-10-25 09:47:55 -0600 |
commit | dd8f4e6b1cdd0b2bce8bb0601054d575b69b4265 (patch) | |
tree | d1aa7311820bc40e0a501fdae12b7b7cf9aa08dd /universal.c | |
parent | 9a27b4a4d8ed9cce0905c91d78c279be127de229 (diff) | |
download | perl-dd8f4e6b1cdd0b2bce8bb0601054d575b69b4265.tar.gz |
t/test.pl: Fix threads signalling watchdog cancellation
Commit 4712a4c94e5974bba8ef97d68aadf2b99c0b4ff4 added the ability to
cancel a watchdog timer. Unfortunately it doesn't work properly when
the timer method was using the thread signalling cancellation method.
This problem only shows up on slow systems under load, so the flaw
wasn't immediately discovered. That commit lowered the incidence level
significantly.
This commit solves the problem by having the child thread detach itself,
after it sets up the needed code to handle a signal from the parent.
The parent thread waits for the detach to happen, and proceeds. Not
until then would it be safe to signal the child.
Diffstat (limited to 'universal.c')
0 files changed, 0 insertions, 0 deletions