On Fri, 4 Apr 2003, Stas Bekman wrote:
> Hmm, I still think that my mips init move wasn't complete.
> Please try this patch first:
>
> Index: src/modules/perl/mod_perl.c
> ===================================================================
> RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
> retrieving revision 1.163
> diff -u -r1.163 mod_perl.c
> --- src/modules/perl/mod_perl.c 3 Apr 2003 06:23:52 -0000 1.163
> +++ src/modules/perl/mod_perl.c 4 Apr 2003 06:10:17 -0000
> @@ -200,6 +200,20 @@
> if (MpSrvPARENT(scfg)) {
> MpInterpBASE_On(scfg->mip->parent);
> }
> +
> + if (!scfg->mip) {
> + /* since mips are created after merge_server_configs()
> + * need to point to the base mip here if this vhost
> + * doesn't have its own
> + */
> + server_rec *base_server = modperl_global_get_server_rec();
> + modperl_config_srv_t *base_scfg =
> + modperl_config_srv_get(base_server);
> + MP_TRACE_i(MP_FUNC, "%s mip inherited from %s\n",
> + vhost, modperl_server_desc(base_server, p));
> + scfg->mip = base_scfg->mip;
> + }
> +
> }
> else {
> /* base server */
> @@ -305,18 +319,6 @@
> return HTTP_INTERNAL_SERVER_ERROR;
> }
> }
> -
> -#ifdef USE_ITHREADS
> - if (!scfg->mip) {
> - /* since mips are created after merge_server_configs()
> - * need to point to the base mip here if this vhost
> - * doesn't have its own
> - */
> - MP_TRACE_i(MP_FUNC, "%s mip inherited from %s\n",
> - vhost, modperl_server_desc(base_server, p));
> - scfg->mip = base_scfg->mip;
> - }
> -#endif /* USE_ITHREADS */
>
> return OK;
> }
Thanks ... I tried it (after adding the assignment
const char *vhost = modperl_server_desc(s, p);
before the MP_TRACE_i call), but got the same problems
as before, with a free to a wrong pool, occurring
I think at about sv_setref_pv(sv, classname, ptr) within
modperl_ptr2obj() in src/modules/modperl_util.c.
--
best regards,
randy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]