This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Force t/io/openpid.t to use the alarm() watchdog strategy.
authorGeorge Greer <perl@greerga.m-l.org>
Sun, 4 Jul 2010 05:20:53 +0000 (01:20 -0400)
committerRafael Garcia-Suarez <rgs@consttype.org>
Sun, 4 Jul 2010 11:28:13 +0000 (13:28 +0200)
commit5732108f035c123424964e9a1a8850d4c1033102
tree7865b6d8ea2a4b8993897550b4651de95f618380
parent897340598920cdabb9c0638e4c3d777bf424ad97
Force t/io/openpid.t to use the alarm() watchdog strategy.

* The default watchdog strategy on Win32 doesn't work because the watchdog
is executed via subshell ("cmd /c perl -e '...'"). When the test finishes
and tries to kill the watchdog all it manages to do is whack cmd.exe and
the watchdog still fires, potentially killing an innocent process.

* Trying to use the fork() strategy instead causes openpid.t's test #9's
"ok" to be lost occasionally.  The message itself is generated by the 4th
child of the test and should go directly to stdout, but sometimes the
output vanishes for unexplained reasons.  This doesn't appear to happen
without the watchdog enabled.

* Using the alarm() watchdog strategy seems to not cause any badness.
t/io/openpid.t [changed mode: 0644->0755]
t/test.pl [changed mode: 0644->0755]