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