summaryrefslogtreecommitdiff
path: root/universal.c
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2022-10-19 21:21:28 -0600
committerKarl Williamson <khw@cpan.org>2022-10-25 09:47:55 -0600
commitdd8f4e6b1cdd0b2bce8bb0601054d575b69b4265 (patch)
treed1aa7311820bc40e0a501fdae12b7b7cf9aa08dd /universal.c
parent9a27b4a4d8ed9cce0905c91d78c279be127de229 (diff)
downloadperl-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