stas 2003/03/19 16:04:54
Modified: src/modules/perl modperl_interp.c . Changes Log: Since non-threaded mpms don't use tipools in mips, don't create and destroy them. Revision Changes Path 1.55 +12 -10 modperl-2.0/src/modules/perl/modperl_interp.c Index: modperl_interp.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- modperl_interp.c 23 Nov 2002 23:25:32 -0000 1.54 +++ modperl_interp.c 20 Mar 2003 00:04:53 -0000 1.55 @@ -168,9 +168,11 @@ { modperl_interp_pool_t *mip = (modperl_interp_pool_t *)data; - modperl_tipool_destroy(mip->tipool); - mip->tipool = NULL; - + if (mip->tipool) { + modperl_tipool_destroy(mip->tipool); + mip->tipool = NULL; + } + if (MpInterpBASE(mip->parent)) { /* multiple mips might share the same parent * make sure its only destroyed once @@ -227,12 +229,12 @@ modperl_interp_pool_t *mip = (modperl_interp_pool_t *)apr_pcalloc(p, sizeof(*mip)); - modperl_tipool_t *tipool = - modperl_tipool_new(p, scfg->interp_pool_cfg, - &interp_pool_func, mip); - - mip->tipool = tipool; - mip->server = s; + if (scfg->threaded_mpm) { + mip->tipool = modperl_tipool_new(p, scfg->interp_pool_cfg, + &interp_pool_func, mip); + } + + mip->server = s; mip->parent = modperl_interp_new(mip, NULL); aTHX = mip->parent->perl = perl; @@ -496,7 +498,7 @@ modperl_interp_mip_walker_t walker, void *data) { - modperl_list_t *head = mip->tipool->idle; + modperl_list_t *head = mip->tipool ? mip->tipool->idle : NULL; if (!current_perl) { current_perl = PERL_GET_CONTEXT; 1.152 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.151 retrieving revision 1.152 diff -u -r1.151 -r1.152 --- Changes 17 Mar 2003 02:15:10 -0000 1.151 +++ Changes 20 Mar 2003 00:04:54 -0000 1.152 @@ -10,6 +10,9 @@ =item 1.99_09-dev +Since non-threaded mpms don't use tipools in mips, don't create and +destroy them. [Stas] + re-use the workaround for glibc/Perl-5.8.0 crypt() bug for the main/vhost base perl interpreters as well. This solves the problem for the buggy glibc on RH8.0. [Stas]