summaryrefslogtreecommitdiff
path: root/pod/perlfork.pod
diff options
context:
space:
mode:
authorJan Dubois <jand@activestate.com>2010-10-25 16:43:51 -0700
committerJan Dubois <jand@activestate.com>2010-10-25 16:44:40 -0700
commit3ba4b5c12a24a4d2dd2388527109b05429b3565c (patch)
tree49fb0fc2b249690176a1fe29c2eb9180ce6b5d07 /pod/perlfork.pod
parente0a523956a6a1b27028abe71c6dee3628fa57e63 (diff)
downloadperl-3ba4b5c12a24a4d2dd2388527109b05429b3565c.tar.gz
Document rewinddir() limitations
as well as the similar limitations of directory handles that have been open while calling the fork() emulation on Windows.
Diffstat (limited to 'pod/perlfork.pod')
-rw-r--r--pod/perlfork.pod13
1 files changed, 13 insertions, 0 deletions
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