Change 20286 by [EMAIL PROTECTED] on 2003/07/29 08:24:45

        More perlio docs from Stas.

Affected files ...

... //depot/perl/pod/perliol.pod#27 edit

Differences ...

==== //depot/perl/pod/perliol.pod#27 (text) ====
Index: perl/pod/perliol.pod
--- perl/pod/perliol.pod#26~20282~      Mon Jul 28 21:57:57 2003
+++ perl/pod/perliol.pod        Tue Jul 29 01:24:45 2003
@@ -420,12 +420,10 @@
 read and buffered from the layer below back to that layer, so that it
 can be re-provided to what ever is now above.
 
-When a PerlIO * is destructed all the layers should pop back to
-leave a NULL. However if ->Popped() returns true then perlio.c
-assumes that either the layer has popped itself, or the layer is
-super special and needs to be retained for other reasons.
-
-Returns 0 on success and failure.
+Returns 0 on success and failure.  If C<Popped()> returns I<true> then
+I<perlio.c> assumes that either the layer has popped itself, or the
+layer is super special and needs to be retained for other reasons.
+In most cases it should return I<false>.
 
 =item Open
 
@@ -482,6 +480,10 @@
 and wait to be "pushed".  If a layer does provide C<Open()> it should
 normally call the C<Open()> method of next layer down (if any) and
 then push itself on top if that succeeds.
+
+If C<PerlIO_push> was performed and open has failed, it must
+C<PerlIO_pop> itself, since if it's not, the layer won't be removed
+and may cause bad problems.
 
 Returns C<NULL> on failure.
 
End of Patch.

Reply via email to