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.

Reply via email to