stas 2003/11/15 13:15:45
Modified: lib/Apache Status.pm . Changes Log: provide a workaround for Config::myconfig() which fails under threads with (5.8.0 < perl < 5.8.3) Submitted by: Elizabeth Mattijsen <[EMAIL PROTECTED]> Revision Changes Path 1.13 +18 -8 modperl-2.0/lib/Apache/Status.pm Index: Status.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/Apache/Status.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -u -r1.12 -r1.13 --- Status.pm 15 Nov 2003 20:22:58 -0000 1.12 +++ Status.pm 15 Nov 2003 21:15:45 -0000 1.13 @@ -368,16 +368,9 @@ } sub status_myconfig { - # XXX: Config::myconfig(); fails under threads with (perl < 5.8.3?) - # "Modification of a read-only value attempted" - # need API to query the mpm and run it only if the mpm is not threaded - # require Config; - # my $myconfig = Config::myconfig(); - my $myconfig = "Under construction"; - ["<pre>", $myconfig, "</pre>"]; + ["<pre>", myconfig(), "</pre>"]; } - sub status_inh_tree { return has(shift, "symdump") ? ["<pre>", Devel::Symdump->inh_tree, "</pre>"] @@ -817,6 +810,23 @@ push @m, "</table>"; return join "\n", @m, "<hr>", b_package_size_link($r, $q, $package); +} + +sub myconfig { + require Config; + # Config::myconfig(); fails under threads with (5.8.0 < perl < 5.8.3) + # "Modification of a read-only value attempted" + # provide a workaround + if ($Config::Config{useithreads} and $] > 5.008 and $] < 5.008003) { + return $Config::summary_expanded if $Config::summary_expanded; + (my $summary_expanded = $Config::summary) =~ + s{\$(\w+)} + { my $c = $Config::Config{$1}; defined($c) ? $c : 'undef' }ge; + return $summary_expanded; + } + else { + return Config::myconfig(); + } } 1; 1.252 +4 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.251 retrieving revision 1.252 diff -u -u -r1.251 -r1.252 --- Changes 15 Nov 2003 20:24:34 -0000 1.251 +++ Changes 15 Nov 2003 21:15:45 -0000 1.252 @@ -12,6 +12,10 @@ =item 1.99_12-dev +Apache::Status: provide a workaround for Config::myconfig() which +fails under threads with (5.8.0 < perl < 5.8.3) [Elizabeth Mattijsen +<[EMAIL PROTECTED]>] + Fix Apache::Status::handler to return 'Apache::OK' [Juanma Barranquero <[EMAIL PROTECTED]>]