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))) {