Author: stas Date: Fri Apr 8 09:32:37 2005 New Revision: 160562 URL: http://svn.apache.org/viewcvs?view=rev&rev=160562 Log: init the anonsub hash for base perl and each vhost +Parent (previously was init'ed only for the base perl)
Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/mod_perl.c perl/modperl/trunk/src/modules/perl/modperl_handler.c Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?view=diff&r1=160561&r2=160562 ============================================================================== --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Apr 8 09:32:37 2005 @@ -38,6 +38,9 @@ Apache->server() to Apache2::ServerUtil->server() [Geoffrey Young] +init the anonsub hash for base perl and each vhost +Parent (previously +was init'ed only for the base perl) [Stas] + fix a bug when a non-threaded perl is used and anonymous sub is pushed at the server startup (the CV wasn't surviving) [Stas] Modified: perl/modperl/trunk/src/modules/perl/mod_perl.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/mod_perl.c?view=diff&r1=160561&r2=160562 ============================================================================== --- perl/modperl/trunk/src/modules/perl/mod_perl.c (original) +++ perl/modperl/trunk/src/modules/perl/mod_perl.c Fri Apr 8 09:32:37 2005 @@ -314,10 +314,8 @@ } #endif /* MP_COMPAT_1X */ - /* things to be done only in the main server */ - if (!s->is_virtual) { - modperl_handler_anon_init(aTHX_ p); - } + /* base perl and each vhost +Parent should have this init'ed */ + modperl_handler_anon_init(aTHX_ p); if (!modperl_config_apply_PerlRequire(s, scfg, perl, p)) { exit(1); Modified: perl/modperl/trunk/src/modules/perl/modperl_handler.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_handler.c?view=diff&r1=160561&r2=160562 ============================================================================== --- perl/modperl/trunk/src/modules/perl/modperl_handler.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_handler.c Fri Apr 8 09:32:37 2005 @@ -119,13 +119,14 @@ HV *hv; if (!(he && (hv = (HV*)HeVAL(he)))) { - Perl_croak(aTHX_ "can't find ANONSUB top entry (get)"); + Perl_croak(aTHX_ "modperl_handler_anon_add: " + "can't find ANONSUB top entry (get)"); } SvREFCNT_inc(cv); if (!(*hv_store(hv, anon->name, anon->len, (SV*)cv, anon->hash))) { SvREFCNT_dec(cv); - Perl_croak(aTHX_ "hv_store of '%s' has failed!", anon->name); + Perl_croak(aTHX_ "hv_store of anonsub '%s' has failed!", anon->name); } MP_TRACE_h(MP_FUNC, "anonsub '%s' added", anon->name); @@ -140,7 +141,8 @@ SV *sv; if (!(he && (hv = (HV*)HeVAL(he)))) { - Perl_croak(aTHX_ "can't find ANONSUB top entry (get)"); + Perl_croak(aTHX_ "modperl_handler_anon_get: " + "can't find ANONSUB top entry (get)"); } if ((he = hv_fetch_he(hv, anon->name, anon->len, anon->hash))) {