Re: [MP2] 1.999024 fails on OS X
[prev]
[thread]
[next]
[Date index for 2005/05/16]
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@xxxxxx.xxx http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
 |
(message missing)
|