summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pod/perlfork.pod13
-rw-r--r--pod/perlport.pod6
2 files changed, 19 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
diff --git a/pod/perlport.pod b/pod/perlport.pod
index 06b1684fec..4f5985f342 100644
--- a/pod/perlport.pod
+++ b/pod/perlport.pod
@@ -1868,6 +1868,12 @@ Not implemented. (Win32, VMS, S<RISC OS>)
Can't move directories between directories on different logical volumes. (Win32)
+=item rewinddir
+
+Will not cause readdir() to re-read the directory stream. The entries
+already read before the rewinddir() call will just be returned again
+from a cache buffer. (Win32)
+
=item select
Only implemented on sockets. (Win32, VMS)