diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2003-05-04 12:01:00 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-05-04 12:01:00 +0000 |
commit | 91d81acc47e855a534408bb8e180a55dbe44d384 (patch) | |
tree | fdae9fc4c021993c9cf2cecea738f3fb7be50d94 /pod/perlipc.pod | |
parent | 2a551100939323428e5b071089d183aafb961137 (diff) | |
download | perl-91d81acc47e855a534408bb8e180a55dbe44d384.tar.gz |
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..)
Diffstat (limited to 'pod/perlipc.pod')
-rw-r--r-- | pod/perlipc.pod | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pod/perlipc.pod b/pod/perlipc.pod index 96cfa8ce70..476fa915fb 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 |