summaryrefslogtreecommitdiff
path: root/pod/perlipc.pod
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-05-04 12:01:00 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-05-04 12:01:00 +0000
commit91d81acc47e855a534408bb8e180a55dbe44d384 (patch)
treefdae9fc4c021993c9cf2cecea738f3fb7be50d94 /pod/perlipc.pod
parent2a551100939323428e5b071089d183aafb961137 (diff)
downloadperl-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.pod12
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