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]>]
   
  
  
  

Reply via email to