From: Jarkko Hietaniemi Date: Sun, 4 May 2003 12:01:00 +0000 (+0000) Subject: Integrate from maint: X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=91d81acc47e855a534408bb8e180a55dbe44d384;p=p5sagit%2Fp5-mst-13.2.git Integrate from maint: [ 18568] Add the POSIX::sigaction() trick by Slaven Rezic for [perl #17341]. p4raw-link: @18568 on //depot/maint-5.8/perl: b63b4058977cacb57fd0a26b3de014d3f4ca3296 p4raw-id: //depot/perl@19406 p4raw-integrated: from //depot/maint-5.8/perl@18568 'merge in' pod/perlipc.pod (@18197..) pod/perlfunc.pod (@18379..) --- diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 192658f..b538701 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -429,6 +429,8 @@ modulo the caveats given in L. # didn't } +For more information see L. + =item atan2 Y,X Returns the arctangent of Y/X in the range -PI to PI. diff --git a/pod/perlipc.pod b/pod/perlipc.pod index 96cfa8c..476fa91 100644 --- a/pod/perlipc.pod +++ b/pod/perlipc.pod @@ -340,6 +340,18 @@ the signal flags and calls %SIG handlers before resuming IO operation.) Note that the default in Perl 5.7.3 and later is to automatically use the C<:perlio> layer. +Note that some networking library functions like gethostbyname() are +known to have their own implementations of timeouts which may conflict +with your timeouts. If you are having problems with such functions, +you can try using the POSIX sigaction() function, which bypasses the +Perl safe signals (note that this means subjecting yourself to +possible memory corruption, as described above). Instead of setting +C<$SIG{ALRM}> try something like the following: + + use POSIX; + sigaction SIGALRM, new POSIX::SigAction sub { die "alarm\n" } + or die "Error setting SIGALRM handler: $!\n"; + =item Signals as "faults" Certain signals e.g. SEGV, ILL, BUS are generated as a result of