diff options
author | Steve Peters <steve@fisharerojo.org> | 2006-02-06 19:43:17 +0000 |
---|---|---|
committer | Steve Peters <steve@fisharerojo.org> | 2006-02-06 19:43:17 +0000 |
commit | 1d335e36eae5d697b47f579905b11046a173e505 (patch) | |
tree | 8b94847e366435d774de42d69c918f3f38281c6b /pod | |
parent | 6d24bbf23c1c9b3b21c4a4fbce2134e3a9987348 (diff) | |
download | perl-1d335e36eae5d697b47f579905b11046a173e505.tar.gz |
Document the limitations of calling exit() (instead of _exit()) from
a child process on Solaris.
p4raw-id: //depot/perl@27108
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perlfork.pod | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pod/perlfork.pod b/pod/perlfork.pod index 832710a80c..8f3b919e7a 100644 --- a/pod/perlfork.pod +++ b/pod/perlfork.pod @@ -100,7 +100,7 @@ waiting for after the exec(). exit() always exits just the executing pseudo-process, after automatically wait()-ing for any outstanding child pseudo-processes. Note that this means that the process as a whole will not exit unless all running pseudo-processes -have exited. +have exited. See below for some limitations with open filehandles. =item Open handles to files, directories and network sockets @@ -177,6 +177,13 @@ the seek position in the parent will change it in the child and vice-versa. One can avoid this by opening files that need distinct seek pointers separately in the child. +On some operating systems, notably Solaris and Unixware, calling C<exit()> +from a child process will flush and close open filehandles in the parent, +thereby corrupting the filehandles. On these systems, calling C<_exit()> +is suggested instead. C<_exit()> is available in Perl through the +C<POSIX> module. Please consult your systems manpages for more information +on this. + =item Forking pipe open() not yet implemented The C<open(FOO, "|-")> and C<open(BAR, "-|")> constructs are not yet |