Return-Path: Delivered-To: apmail-modperl-cvs-archive@apache.org Received: (qmail 1518 invoked by uid 500); 14 Mar 2001 06:57:46 -0000 Mailing-List: contact modperl-cvs-help@apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@perl.apache.org Delivered-To: mailing list modperl-cvs@apache.org Received: (qmail 1493 invoked by uid 500); 14 Mar 2001 06:57:44 -0000 Delivered-To: apmail-modperl-2.0-cvs@apache.org Date: 14 Mar 2001 06:57:44 -0000 Message-ID: <20010314065744.1486.qmail@apache.org> From: dougm@apache.org To: modperl-2.0-cvs@apache.org Subject: cvs commit: modperl-2.0/src/modules/perl modperl_interp.c dougm 01/03/13 22:57:44 Modified: src/modules/perl modperl_interp.c Log: share selected Perl interpreter across sub-requests by default Revision Changes Path 1.21 +10 -5 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.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- modperl_interp.c 2001/03/14 05:22:49 1.20 +++ modperl_interp.c 2001/03/14 06:57:43 1.21 @@ -202,12 +202,14 @@ */ #define MP_INTERP_KEY "MODPERL_INTERP" -modperl_interp_t *modperl_interp_select(request_rec *r, conn_rec *c, +modperl_interp_t *modperl_interp_select(request_rec *rr, conn_rec *c, server_rec *s) { MP_dSCFG(s); modperl_interp_t *interp; apr_pool_t *p = NULL; + int is_subrequest = (rr && rr->main) ? 1 : 0; + request_rec *r = is_subrequest ? rr->main : rr; const char *desc = NULL; int lifetime_connection = (modperl_interp_lifetime_connection(scfg) || !r); @@ -231,8 +233,9 @@ if (interp) { MP_TRACE_i(MP_FUNC, - "found interp 0x%lx in %s 0x%lx\n", - (unsigned long)interp, desc, (unsigned long)r->pool); + "found interp 0x%lx in %s 0x%lx (%s request for %s)\n", + (unsigned long)interp, desc, (unsigned long)r->pool, + (is_subrequest ? "sub" : "main"), rr->uri); return interp; } @@ -267,8 +270,10 @@ /* set context (THX) for this thread */ PERL_SET_CONTEXT(interp->perl); - MP_TRACE_i(MP_FUNC, "set interp 0x%lx in %s 0x%lx\n", - (unsigned long)interp, desc, (unsigned long)p); + MP_TRACE_i(MP_FUNC, "set interp 0x%lx in %s 0x%lx (%s request for %s)\n", + (unsigned long)interp, desc, (unsigned long)p, + (r ? (is_subrequest ? "sub" : "main") : "conn"), + (r ? rr->uri : c->remote_ip)); return interp; }