From: Jarkko Hietaniemi Date: Mon, 9 Apr 2001 02:40:24 +0000 (+0000) Subject: Integrate the perlfork half of #9513 from maintperl into mainline X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c7fa416ba7ee901b0af8471f9c36407d36d3b1bc;p=p5sagit%2Fp5-mst-13.2.git Integrate the perlfork half of #9513 from maintperl into mainline (the perlunicode half is obsolete) p4raw-id: //depot/perl@9650 p4raw-edited: from //depot/maint-5.6/perl@9648 'edit in' pod/perlfork.pod (@7273..) --- diff --git a/pod/perlfork.pod b/pod/perlfork.pod index 82ac689..dc0a82b 100644 --- a/pod/perlfork.pod +++ b/pod/perlfork.pod @@ -1,9 +1,14 @@ =head1 NAME -perlfork - Perl's fork() emulation +perlfork - Perl's fork() emulation (EXPERIMENTAL, subject to change) =head1 SYNOPSIS + WARNING: As of the 5.6.1 release, the fork() emulation continues + to be an experimental feature. Use in production applications is + not recommended. See the "BUGS" and "CAVEATS AND LIMITATIONS" + sections below. + Perl provides a fork() keyword that corresponds to the Unix system call of the same name. On most Unix-like platforms where the fork() system call is available, Perl's fork() simply calls it. @@ -274,6 +279,17 @@ are expected to be fixed for thread-safety. =item * +Perl's regular expression engine currently does not play very nicely +with the fork() emulation. There are known race conditions arising +from the regular expression engine modifying state carried in the opcode +tree at run time (the fork() emulation relies on the opcode tree being +immutable). This typically happens when the regex contains paren groups +or variables interpolated within it that force a run time recompilation +of the regex. Due to this major bug, the fork() emulation is not +recommended for use in production applications at this time. + +=item * + Having pseudo-process IDs be negative integers breaks down for the integer C<-1> because the wait() and waitpid() functions treat this number as being special. The tacit assumption in the current implementation is that