Change 20074 by [EMAIL PROTECTED] on 2003/07/08 11:01:07
"Global destruction" tweaks from Rafael.
Affected files ...
... //depot/maint-5.8/perl/pod/perldelta.pod#25 edit
Differences ...
==== //depot/maint-5.8/perl/pod/perldelta.pod#25 (text) ====
Index: perl/pod/perldelta.pod
--- perl/pod/perldelta.pod#24~20070~ Tue Jul 8 02:14:24 2003
+++ perl/pod/perldelta.pod Tue Jul 8 04:01:07 2003
@@ -38,13 +38,17 @@
important, use tied hashes.
More subtle problem is reliance on the order of "global destruction".
-This is what happens at the end of execution: Perl destroys all data
-structures, including those representing the application data.
-If your destructors (DESTROY subroutines) have assumed any particular
-ordering to the global destruction, there might be problems ahead.
-For example, in a destructor for one class you cannot assume that
-objects or methods of any other class are still available.
-They might already have been destroyed.
+That is what happens at the end of execution: Perl destroys all data
+structures, including user data. If your destructors (the DESTROY
+subroutines) have assumed any particular ordering to the global
+destruction, there might be problems ahead. For example, in a
+destructor of one object you cannot assume that objects of any other
+class are still available, unless you hold a reference to them.
+If the environment variable PERL_DESTRUCT_LEVEL is set to a non-zero
+value, or if Perl is exiting a spawned thread, it will also destruct
+the ordinary references and the symbol tables that are no longer in use.
+You can't call a class method or an ordinary function on a class that
+has been collected that way.
The hash randomisation is certain to reveal hidden assumptions about
some particular ordering of hash elements, and outright bugs: it
@@ -55,8 +59,8 @@
information see L<perlrun/PERL_HASH_SEED>), or to disable the feature
completely in compile time, compile with C<-DNO_HASH_SEED> (see F<INSTALL>).
-See L<perlsec/"Algorithmic Complexity Attacks"> for the rationale
-behind this change.
+See L<perlsec/"Algorithmic Complexity Attacks"> for the original
+rationale behind this change.
=head2 UTF-8 On Filehandles No More Activated By Locale
End of Patch.