From 3ba4b5c12a24a4d2dd2388527109b05429b3565c Mon Sep 17 00:00:00 2001 From: Jan Dubois <jand@activestate.com> Date: Mon, 25 Oct 2010 16:43:51 -0700 Subject: Document rewinddir() limitations as well as the similar limitations of directory handles that have been open while calling the fork() emulation on Windows. --- pod/perlfork.pod | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'pod/perlfork.pod') diff --git a/pod/perlfork.pod b/pod/perlfork.pod index 0ff6876852..c09433f95e 100644 --- a/pod/perlfork.pod +++ b/pod/perlfork.pod @@ -187,6 +187,19 @@ is suggested instead. C<_exit()> is available in Perl through the C<POSIX> module. Please consult your system's manpages for more information on this. +=item Open directory handles + +Perl will completely read from all open directory handles until they +reach the end of the stream. It will then seekdir() back to the +original location and all future readdir() requests will be fulfilled +from the cache buffer. That means that neither directory handle held +by the parent process nor the one held by the child process will see +any changes made to the directory after the fork() call. + +Note that rewinddir() has a similar limitation on Windows and will not +force readdir() to read the directory again either. Only a newly +opened directory handle will reflect changes to the directory. + =item Forking pipe open() not yet implemented The C<open(FOO, "|-")> and C<open(BAR, "-|")> constructs are not yet -- cgit v1.2.1