From: Vincent Pit Date: Fri, 28 Aug 2009 18:37:18 +0000 (+0200) Subject: This is 0.19 X-Git-Tag: v0.19^0 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=8a6edfe3e713d47f83fcee92125f992769c67884;p=perl%2Fmodules%2Findirect.git This is 0.19 --- diff --git a/Changes b/Changes index b450954..848d9fc 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,22 @@ Revision history for indirect +0.19 2009-08-28 18:40 UTC + + Add : The new constant I_FORKSAFE can be tested to know whether the + module will behave nicely when fork()ing. It's currently always + true except on Windows where you need perl 5.10.1 for it to be + true. + + Fix : I_THREADSAFE and I_FORKSAFE ought to be true when + PERL_INDIRECT_PM_DISABLE is set. + + Fix : The pragma could still leak if you passed to the "hook" option + a reference to the same (named) subroutine from two different + require scopes. The fix also provides a better solution for + RT #47902. + + Fix : Segfaults when indirect is loaded for the first time from + inside a thread. + + Fix : Leaks of memory associated with the root interpreter. + + Opt : Less memory will be used for non-threaded perls version 5.10.0 + and below, and for threaded perls from version 5.10.1. + 0.18 2009-08-23 16:15 UTC + Add : When set, the PERL_INDIRECT_PM_DISABLE environment variable disables the pragma globally. diff --git a/META.yml b/META.yml index 1efe25f..62812b9 100644 --- a/META.yml +++ b/META.yml @@ -1,6 +1,6 @@ --- #YAML:1.0 name: indirect -version: 0.18 +version: 0.19 abstract: Lexically warn about using the indirect object syntax. author: - Vincent Pit diff --git a/README b/README index d1b1229..a254d34 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ NAME indirect - Lexically warn about using the indirect object syntax. VERSION - Version 0.18 + Version 0.19 SYNOPSIS # In a script @@ -71,6 +71,11 @@ CONSTANTS True iff the module could have been built with thread-safety features enabled. + "I_FORKSAFE" + True iff this module could have been built with fork-safety features + enabled. This will always be true except on Windows where it's false for + perl 5.10.0 and below . + DIAGNOSTICS "Indirect call of method "%s" on object "%s" at %s line %d." The default warning/exception message thrown when an indirect call on an @@ -85,8 +90,9 @@ ENVIRONMENT If this environment variable is set to true when the pragma is used for the first time, the XS code won't be loaded and, although the 'indirect' lexical hint will be set to true in the scope of use, the pragma itself - won't do anything. This is useful for disabling "indirect" in production - environments. + won't do anything. In this case, the pragma will always be considered to + be thread-safe, and as such "I_THREADSAFE" will be true. This is useful + for disabling "indirect" in production environments. Note that clearing this variable after "indirect" was loaded has no effect. If you want to reenable the pragma later, you also need to diff --git a/lib/indirect.pm b/lib/indirect.pm index 34920db..96ff670 100644 --- a/lib/indirect.pm +++ b/lib/indirect.pm @@ -11,13 +11,13 @@ indirect - Lexically warn about using the indirect object syntax. =head1 VERSION -Version 0.18 +Version 0.19 =cut our $VERSION; BEGIN { - $VERSION = '0.18'; + $VERSION = '0.19'; } =head1 SYNOPSIS