dougm 00/04/17 00:10:56 Modified: lib/ModPerl Code.pm src/modules/perl mod_perl.c mod_perl.h modperl_interp.c modperl_types.h Log: integrate with modperl_gtop Revision Changes Path 1.10 +2 -2 modperl-2.0/lib/ModPerl/Code.pm Index: Code.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Code.pm 2000/04/17 00:07:40 1.9 +++ Code.pm 2000/04/17 07:10:55 1.10 @@ -185,7 +185,7 @@ } } -my @trace = qw(d s h g c i); +my @trace = qw(d s h g c i m); sub generate_trace { my($self, $h_fh) = @_; @@ -277,7 +277,7 @@ generate_trace => {h => 'modperl_trace.h'}, ); -my @c_src_names = qw(interp log config); +my @c_src_names = qw(interp log config gtop); my @g_c_names = map { "modperl_$_" } qw(hooks directives); my @c_names = ('mod_perl', (map "modperl_$_", @c_src_names), @g_c_names); sub c_files { [map { "$_.c" } @c_names] } 1.7 +14 -0 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- mod_perl.c 2000/04/16 01:33:56 1.6 +++ mod_perl.c 2000/04/17 07:10:55 1.7 @@ -7,6 +7,14 @@ char *argv[] = { "httpd", "/dev/null" }; int argc = 2; +#ifdef MP_USE_GTOP + MP_dSCFG(s); + MP_TRACE_m_do( + scfg->gtop = modperl_gtop_new(p); + modperl_gtop_do_proc_mem_before(MP_FUNC ": perl_parse"); + ); +#endif + if (!(perl = perl_alloc())) { perror("perl_alloc"); exit(1); @@ -22,6 +30,12 @@ } perl_run(perl); + +#ifdef MP_USE_GTOP + MP_TRACE_m_do( + modperl_gtop_do_proc_mem_after(MP_FUNC ": perl_parse"); + ); +#endif modperl_interp_init(s, p, perl); } 1.7 +3 -0 modperl-2.0/src/modules/perl/mod_perl.h Index: mod_perl.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- mod_perl.h 2000/04/16 16:57:55 1.6 +++ mod_perl.h 2000/04/17 07:10:55 1.7 @@ -26,6 +26,9 @@ #include "modperl_flags.h" #include "modperl_hooks.h" +#ifdef MP_USE_GTOP +#include "modperl_gtop.h" +#endif #include "modperl_types.h" #include "modperl_config.h" #include "modperl_callback.h" 1.7 +15 -3 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.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- modperl_interp.c 2000/04/16 01:33:56 1.6 +++ modperl_interp.c 2000/04/17 07:10:55 1.7 @@ -14,13 +14,24 @@ modperl_interp_t *interp = (modperl_interp_t *)ap_pcalloc(p, sizeof(*interp)); - if (mip) { - interp->mip = mip; - } + interp->mip = mip; if (perl) { +#ifdef MP_USE_GTOP + MP_dSCFG(mip->server); + MP_TRACE_m_do( + modperl_gtop_do_proc_mem_before(MP_FUNC ": perl_clone"); + ); +#endif + interp->perl = perl_clone(perl, TRUE); MpInterpCLONED_On(interp); + +#ifdef MP_USE_GTOP + MP_TRACE_m_do( + modperl_gtop_do_proc_mem_after(MP_FUNC ": perl_clone"); + ); +#endif } MP_TRACE_i(MP_FUNC, "0x%lx\n", (unsigned long)interp); @@ -213,6 +224,7 @@ int i; mip->ap_pool = p; + mip->server = s; mip->cfg = scfg->interp_pool_cfg; mip->parent = modperl_interp_new(p, mip, NULL); aTHX = mip->parent->perl = perl; 1.6 +4 -0 modperl-2.0/src/modules/perl/modperl_types.h Index: modperl_types.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_types.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- modperl_types.h 2000/04/16 01:33:56 1.5 +++ modperl_types.h 2000/04/17 07:10:55 1.6 @@ -44,6 +44,7 @@ struct modperl_interp_pool_t { ap_pool_t *ap_pool; + server_rec *server; perl_mutex mip_lock; perl_cond available; modperl_interp_pool_config_t *cfg; @@ -79,6 +80,9 @@ modperl_interp_pool_config_t *interp_pool_cfg; #else PerlInterpreter *perl; +#endif +#ifdef MP_USE_GTOP + modperl_gtop_t *gtop; #endif int flags; } modperl_srv_config_t;