perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: [MP2] 1.999024 fails on OS X
Date Mon, 16 May 2005 16:56:31 GMT
Philippe M. Chiasson wrote:
[...]
> After a long promised investigation session, I believe I have pinned
> it down. It seems to have been introduced by change r160562 when the
> anon_cnt initialization code was moved around as a result. Didn't have
> enough time tonight to dig down as to _why_ this is breaking though...
> 
> Not entirely sure why this breaks specifically on Darwin and all, but
> the following patch seems to make the problem dissapear. Does it fix
> the problem you are seeing too ?
> 
> Index: src/modules/perl/modperl_handler.c
> ===================================================================
> --- src/modules/perl/modperl_handler.c  (revision 170139)
> +++ src/modules/perl/modperl_handler.c  (working copy)
> @@ -89,9 +89,6 @@
>          modperl_modglobal_lookup(aTHX_ "ANONSUB");
>      MP_TRACE_h(MP_FUNC, "init $PL_modglobal{ANONSUB} = []");
>      MP_MODGLOBAL_STORE_HV(gkey);
> -
> -    /* init the counter to 0 */
> -    modperl_global_anon_cnt_init(p);
>  }
> 
>  /* allocate and populate the anon handler sub-struct */
> Index: src/modules/perl/mod_perl.c
> ===================================================================
> --- src/modules/perl/mod_perl.c (revision 170139)
> +++ src/modules/perl/mod_perl.c (working copy)
> @@ -532,6 +532,9 @@
>      modperl_global_init_server_rec(pconf, s);
> 
>      modperl_tls_create_request_rec(pconf);
> +
> +    /* init the counter to 0 */
> +    modperl_global_anon_cnt_init(pconf);
>  }
> 
>  /*

Philippe is talking about 
http://svn.apache.org/viewcvs.cgi?rev=160562&view=rev

http://svn.apache.org/viewcvs.cgi/perl/modperl/trunk/src/modules/perl/mod_perl.c?rev=160562&view=diff&r1=160562&r2=160561&p1=perl/modperl/trunk/src/modules/perl/mod_perl.c&p2=/perl/modperl/trunk/src/modules/perl/mod_perl.c

But it can't be reverted , since it was a fix for a bug in 
vhosts+anonsub+ithreads. I couldn't add a test reproducing the problem, as 
it wasn't suitable for the test suite (would have affected other tests). 
So it needs to stay that way and figured out what needs to be fixed elsewhere.

Philippe, your patch can't be applied either, since it has exactly the 
same effect as reverting r160562, since you moved 
modperl_global_anon_cnt_init() to modperl_init_globals() which is called 
only for the top-level server:

void *modperl_config_srv_create(apr_pool_t *p, server_rec *s)
{
     modperl_config_srv_t *scfg = modperl_config_srv_new(p);

     if (!s->is_virtual) {

         /* give a chance to MOD_PERL_TRACE env var to set
          * PerlTrace. This place is the earliest point in mod_perl
          * configuration parsing, when we have the server object
          */
         modperl_trace_level_set_apache(s, NULL);

         /* Must store the global server record as early as possible,
          * because if mod_perl happens to be started from within a
          * vhost (e.g., PerlLoadModule) the base server record won't
          * be available to vhost and things will blow up
          */
         modperl_init_globals(s, p);
     }

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message