Author: stevehay
Date: Thu Jun 12 08:39:46 2014
New Revision: 1602093

URL: http://svn.apache.org/r1602093
Log:
[Oops. Merging from httpd24threading back to trunk isn't going to work yet. The 
branches httpd24 and threading were both copied from trunk. The threading 
branch was then merged into httpd24threading, which was copied from httpd24 so 
all of the threading branch's changes will find their way back to trunk when 
httpd24threading is merged back, but the changes on httpd24 prior to 
httpd24threading being copied from it have been missed: there are no 
*revisions* on httpd24threading containing those changes, so httpd24 needs 
merging back to trunk first, and only then can we merge httpd24threading back 
to trunk...]

Reverse merged revision(s) 1602085, 1602083-1602082 from perl/modperl/trunk:
Merged revision(s) 1537493 from perl/modperl/branches/httpd24threading:
Merged revision(s) 594347 from perl/modperl/branches/threading:
Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t
via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig

Reviewed-By: Gozer
Submitted-By: Torsten Foertsch <torsten.foert...@gmx.net>
Message-Id: <200710242028.07750.torsten.foert...@gmx.net>


........

........

........
Merged revision(s) 1537484 from perl/modperl/branches/httpd24threading:
Merged revision(s) 584377 from perl/modperl/branches/threading:
Introduce ModPerl::Interpreter, an interface to modperl_interp_t.
Note, this currently does not behave correctly with a non-threaded
Apache

Submitted-By Torsten Foertsch <torsten.foert...@gmx.net>
Message-Id: <200710101543.33946.torsten.foert...@gmx.net>
Reviewed-By: gozer

........

........

........
Merged revision(s) 1537492 from perl/modperl/branches/httpd24threading:
Merged revision(s) 594345 from perl/modperl/branches/threading:
Cleanup modperl_trace() a little by always prefixing trace
messages with the current pid/tid and always adding a newline.

Simplifies things a little, and modperl_pid_tid() goes
away.

Reviewed-By: gozer
Submitted-By: Torsten Foertsch <torsten.foert...@gmx.net>
Message-Id: <200710221220.17860.torsten.foert...@gmx.net>


........

........

........

Removed:
    perl/modperl/trunk/t/response/TestModperl/interpreter.pm
    perl/modperl/trunk/xs/ModPerl/Interpreter/
    perl/modperl/trunk/xs/maps/modperl_structures.map
Modified:
    perl/modperl/trunk/   (props changed)
    perl/modperl/trunk/Changes
    perl/modperl/trunk/src/modules/perl/modperl_callback.c
    perl/modperl/trunk/src/modules/perl/modperl_cmd.c
    perl/modperl/trunk/src/modules/perl/modperl_common_log.c
    perl/modperl/trunk/src/modules/perl/modperl_debug.c
    perl/modperl/trunk/src/modules/perl/modperl_debug.h
    perl/modperl/trunk/src/modules/perl/modperl_env.c
    perl/modperl/trunk/src/modules/perl/modperl_handler.c
    perl/modperl/trunk/src/modules/perl/modperl_mgv.c
    perl/modperl/trunk/src/modules/perl/modperl_util.c
    perl/modperl/trunk/src/modules/perl/modperl_util.h
    perl/modperl/trunk/t/modperl/   (props changed)
    perl/modperl/trunk/xs/maps/modperl_functions.map
    perl/modperl/trunk/xs/maps/modperl_types.map
    perl/modperl/trunk/xs/tables/current/Apache2/StructureTable.pm
    perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm

Propchange: perl/modperl/trunk/
            ('svn:mergeinfo' removed)

Modified: perl/modperl/trunk/Changes
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/Changes (original)
+++ perl/modperl/trunk/Changes Thu Jun 12 08:39:46 2014
@@ -12,12 +12,6 @@ Also refer to the Apache::Test changes l
 
 =item 2.0.9-dev
 
-Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t
-via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig
-[Torsten Foertsch]
-
-Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch]
-
 Fix t/compat/apache_file.t on Windows. Apache::File->tmpfile() wants TMPDIR
 or TEMP from the environment, or else defaults to /tmp. The latter is no
 good on Windows, so make sure the environment variables are passed through.

Modified: perl/modperl/trunk/src/modules/perl/modperl_callback.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_callback.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_callback.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_callback.c Thu Jun 12 08:39:46 
2014
@@ -88,7 +88,8 @@ int modperl_callback(pTHX_ modperl_handl
                 name = handler->name;
             }
 
-            MP_TRACE_h(MP_FUNC, "[%s] lookup of %s failed",
+            MP_TRACE_h(MP_FUNC, "[%s %s] lookup of %s failed",
+                       modperl_pid_tid(p),
                        modperl_server_desc(s, p), name);
             ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
                          "lookup of '%s' failed", name);
@@ -253,7 +254,8 @@ int modperl_callback_run_handlers(int id
 
     modperl_callback_current_callback_set(desc);
 
-    MP_TRACE_h(MP_FUNC, "running %d %s handlers", av->nelts, desc);
+    MP_TRACE_h(MP_FUNC, "[%s] running %d %s handlers",
+               modperl_pid_tid(p), av->nelts, desc);
     handlers = (modperl_handler_t **)av->elts;
 
     for (i=0; i<av->nelts; i++) {

Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_cmd.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_cmd.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_cmd.c Thu Jun 12 08:39:46 2014
@@ -69,15 +69,17 @@ char *modperl_cmd_push_filter_handlers(M
      */
     if (*name == '-') {
         MP_TRACE_h(MP_FUNC,
-                   "warning: filter handler %s will be not autoloaded. "
+                   "[%s] warning: filter handler %s will be not autoloaded. "
                    "Unless the module defining this handler is explicitly "
-                   "preloaded, filter attributes will be ignored.\n");
+                   "preloaded, filter attributes will be ignored.\n",
+                   modperl_pid_tid(p), h->name);
     }
     else {
         MpHandlerAUTOLOAD_On(h);
         MP_TRACE_h(MP_FUNC,
-                   "filter handler %s will be autoloaded (to make "
-                   "the filter attributes available)\n", h->name);
+                   "[%s] filter handler %s will be autoloaded (to make "
+                   "the filter attributes available)\n",
+                   modperl_pid_tid(p), h->name);
     }
 
     if (!*handlers) {

Modified: perl/modperl/trunk/src/modules/perl/modperl_common_log.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_common_log.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_common_log.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_common_log.c Thu Jun 12 
08:39:46 2014
@@ -16,7 +16,6 @@
 
 #include "modperl_common_includes.h"
 #include "modperl_common_log.h"
-#include "modperl_debug.h"
 
 #undef getenv /* from XSUB.h */
 
@@ -49,17 +48,7 @@ void modperl_trace(const char *func, con
         return;
     }
 
-    if (modperl_threaded_mpm()) {
-        apr_file_printf(logfile, "[%lu/%lu] ", (unsigned long)getpid(),
-                       modperl_threads_started()
-                       ? (unsigned long)apr_os_thread_current()
-                       : 0);
-    }
-    else {
-        apr_file_printf(logfile, "[%lu] ", (unsigned long)getpid());
-    }
-
-    if (func && *func) {
+    if (func) {
         apr_file_printf(logfile, "%s: ", func);
     }
 

Modified: perl/modperl/trunk/src/modules/perl/modperl_debug.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_debug.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_debug.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_debug.c Thu Jun 12 08:39:46 2014
@@ -21,6 +21,28 @@ char *modperl_server_desc(server_rec *s,
     return apr_psprintf(p, "%s:%u", s->server_hostname, s->port);
 }
 
+/* used in debug traces */
+MP_INLINE char *modperl_pid_tid(apr_pool_t *p)
+{
+    if (modperl_threaded_mpm()) {
+        return apr_psprintf(p, "%lu"
+#if APR_HAS_THREADS
+                            "/%lu"
+#endif /* APR_HAS_THREADS */
+                            , (unsigned long)getpid()
+#if APR_HAS_THREADS
+                            , modperl_threads_started()
+                            ? (unsigned long)apr_os_thread_current()
+                            : 0
+#endif /* APR_HAS_THREADS */
+            );
+    }
+    else {
+        return apr_psprintf(p, "%lu", (unsigned long)getpid());
+    }
+}
+
+    
 #ifdef MP_TRACE
 void modperl_apr_table_dump(pTHX_ apr_table_t *table, char *name)
 {

Modified: perl/modperl/trunk/src/modules/perl/modperl_debug.h
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_debug.h?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_debug.h (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_debug.h Thu Jun 12 08:39:46 2014
@@ -20,6 +20,7 @@
 #include "mod_perl.h"
 
 char *modperl_server_desc(server_rec *s, apr_pool_t *p);
+MP_INLINE char *modperl_pid_tid(apr_pool_t *p);
 
 #ifdef MP_TRACE
 void modperl_apr_table_dump(pTHX_ apr_table_t *table, char *name);

Modified: perl/modperl/trunk/src/modules/perl/modperl_env.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_env.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_env.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_env.c Thu Jun 12 08:39:46 2014
@@ -232,15 +232,15 @@ void modperl_env_configure_server(pTHX_ 
         }
     }
 
-    MP_TRACE_e(MP_FUNC, "\t[0x%lx/%s]"
+    MP_TRACE_e(MP_FUNC, "\t[%s/0x%lx/%s]"
                "\n\t@ENV{keys scfg->SetEnv} = values scfg->SetEnv;",
-               modperl_interp_address(aTHX),
+               modperl_pid_tid(p), modperl_interp_address(aTHX),
                modperl_server_desc(s, p));
     modperl_env_table_populate(aTHX_ scfg->SetEnv);
 
-    MP_TRACE_e(MP_FUNC, "\t[0x%lx/%s]"
+    MP_TRACE_e(MP_FUNC, "\t[%s/0x%lx/%s]"
                "\n\t@ENV{keys scfg->PassEnv} = values scfg->PassEnv;",
-               modperl_interp_address(aTHX),
+               modperl_pid_tid(p), modperl_interp_address(aTHX),
                modperl_server_desc(s, p));
     modperl_env_table_populate(aTHX_ scfg->PassEnv);
 }
@@ -270,9 +270,9 @@ void modperl_env_configure_request_dir(p
          * collisions with per-server PerlSetEnv entries are
          * resolved via the nature of a Perl hash
          */
-        MP_TRACE_e(MP_FUNC, "\t[0x%lx/%s]"
+        MP_TRACE_e(MP_FUNC, "\t[%s/0x%lx/%s]"
                    "\n\t@ENV{keys dcfg->SetEnv} = values dcfg->SetEnv;",
-                   modperl_interp_address(aTHX),
+                   modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                    modperl_server_desc(r->server, r->pool));
         modperl_env_table_populate(aTHX_ dcfg->SetEnv);
 
@@ -303,9 +303,9 @@ void modperl_env_configure_request_srv(p
      */
 
     if (!apr_is_empty_table(scfg->SetEnv)) {
-        MP_TRACE_e(MP_FUNC, "\t[0x%lx/%s]"
+        MP_TRACE_e(MP_FUNC, "\t[%s/0x%lx/%s]"
                    "\n\t@ENV{keys scfg->SetEnv} = values scfg->SetEnv;",
-                   modperl_interp_address(aTHX),
+                   modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                    modperl_server_desc(r->server, r->pool));
         modperl_env_table_populate(aTHX_ scfg->SetEnv);
 
@@ -313,9 +313,9 @@ void modperl_env_configure_request_srv(p
     }
 
     if (!apr_is_empty_table(scfg->PassEnv)) {
-        MP_TRACE_e(MP_FUNC, "\t[0x%lx/%s]"
+        MP_TRACE_e(MP_FUNC, "\t[%s/0x%lx/%s]"
                    "\n\t@ENV{keys scfg->PassEnv} = values scfg->PassEnv;",
-                   modperl_interp_address(aTHX),
+                   modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                    modperl_server_desc(r->server, r->pool));
         modperl_env_table_populate(aTHX_ scfg->PassEnv);
 
@@ -363,9 +363,9 @@ void modperl_env_request_populate(pTHX_ 
      * phases from populating %ENV with new subprocess_env table entries
      */
 
-    MP_TRACE_e(MP_FUNC, "\t[0x%lx/%s%s]"
+    MP_TRACE_e(MP_FUNC, "\t[%s/0x%lx/%s%s]"
                "\n\t@ENV{keys r->subprocess_env} = values r->subprocess_env;",
-               modperl_interp_address(aTHX),
+               modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                modperl_server_desc(r->server, r->pool), r->uri);
 
     /* we can eliminate some of the cost by only doing CGI variables once
@@ -397,8 +397,8 @@ void modperl_env_request_unpopulate(pTHX
     }
 
     MP_TRACE_e(MP_FUNC,
-               "\n\t[0x%lx/%s%s]\n\tdelete @ENV{keys r->subprocess_env};",
-               modperl_interp_address(aTHX),
+               "\n\t[%s/0x%lx/%s%s]\n\tdelete @ENV{keys r->subprocess_env};",
+               modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                modperl_server_desc(r->server, r->pool), r->uri);
     modperl_env_table_unpopulate(aTHX_ r->subprocess_env);
 
@@ -411,8 +411,7 @@ void modperl_env_request_tie(pTHX_ reque
     EnvMgLenSet(-1);
 
 #ifdef MP_PERL_HV_GMAGICAL_AWARE
-    MP_TRACE_e(MP_FUNC, "[0x%lx] tie %%ENV, $r\t (%s%s)",
-               modperl_interp_address(aTHX),
+    MP_TRACE_e(MP_FUNC, "[%s/0x%lx] tie %%ENV, $r\t (%s%s)",
                modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                modperl_server_desc(r->server, r->pool), r->uri);
     SvGMAGICAL_on((SV*)ENVHV);
@@ -424,8 +423,7 @@ void modperl_env_request_untie(pTHX_ req
     EnvMgObjSet(NULL);
 
 #ifdef MP_PERL_HV_GMAGICAL_AWARE
-    MP_TRACE_e(MP_FUNC, "[0x%lx] untie %%ENV; # from r\t (%s%s)",
-               modperl_interp_address(aTHX),
+    MP_TRACE_e(MP_FUNC, "[%s/0x%lx] untie %%ENV; # from r\t (%s%s)",
                modperl_pid_tid(r->pool), modperl_interp_address(aTHX),
                modperl_server_desc(r->server, r->pool), r->uri);
     SvGMAGICAL_off((SV*)ENVHV);
@@ -482,7 +480,8 @@ static int modperl_env_magic_set_all(pTH
                 apr_table_set(r->subprocess_env,
                               hv_iterkey(entry, &keylen),
                               SvPV(hv_iterval((HV*)sv, entry), n_a));
-                MP_TRACE_e(MP_FUNC, "[0x%lx] localizing: %s => %s",
+                MP_TRACE_e(MP_FUNC, "[%s/0x%lx] localizing: %s => %s",
+                           modperl_pid_tid(r->pool),
                            modperl_interp_address(aTHX),
                            hv_iterkey(entry, &keylen),
                            SvPV(hv_iterval((HV*)sv, entry), n_a));
@@ -494,14 +493,17 @@ static int modperl_env_magic_set_all(pTH
         HE *entry;
         STRLEN n_a;
 
-        MP_TRACE_e(MP_FUNC, "\n\t[0x%lx] populating %%ENV:",
-                   modperl_interp_address(aTHX));
+        MP_TRACE_e(MP_FUNC,
+                   "\n\t[%lu/0x%lx] populating %%ENV:",
+                   (unsigned long)getpid(), modperl_interp_address(aTHX));
 
         hv_iterinit((HV*)sv);
 
         while ((entry = hv_iternext((HV*)sv))) {
                 I32 keylen;
                 MP_TRACE_e(MP_FUNC, "$ENV{%s} = \"%s\";",
+                           modperl_pid_tid(r->pool),
+                           modperl_interp_address(aTHX),
                            hv_iterkey(entry, &keylen),
                            SvPV(hv_iterval((HV*)sv, entry), n_a));
             }
@@ -518,12 +520,14 @@ static int modperl_env_magic_clear_all(p
 
     if (r) {
         apr_table_clear(r->subprocess_env);
-        MP_TRACE_e(MP_FUNC, "[0x%lx] clearing all magic off r->subprocess_env",
-                   modperl_interp_address(aTHX));
+        MP_TRACE_e(MP_FUNC,
+                   "[%s/0x%lx] clearing all magic off r->subprocess_env",
+                   modperl_pid_tid(r->pool), modperl_interp_address(aTHX));
     }
     else {
-        MP_TRACE_e(MP_FUNC, "[0x%lx] %%ENV = ();",
-                   modperl_interp_address(aTHX));
+        MP_TRACE_e(MP_FUNC,
+                   "[%s/0x%lx] %%ENV = ();",
+                   modperl_pid_tid(r->pool), modperl_interp_address(aTHX));
         return MP_PL_vtbl_call(env, clear);
     }
 
@@ -538,7 +542,8 @@ static int modperl_env_magic_set(pTHX_ S
         MP_dENV_KEY;
         MP_dENV_VAL;
         apr_table_set(r->subprocess_env, key, val);
-        MP_TRACE_e(MP_FUNC, "[0x%lx] r->subprocess_env set: %s => %s",
+        MP_TRACE_e(MP_FUNC, "[%s/0x%lx] r->subprocess_env set: %s => %s",
+                   modperl_pid_tid(r->pool),
                    modperl_interp_address(aTHX), key, val);
     }
     else {
@@ -546,7 +551,8 @@ static int modperl_env_magic_set(pTHX_ S
         MP_dENV_KEY;
         MP_dENV_VAL;
         MP_TRACE_e(MP_FUNC,
-                   "[0x%lx] $ENV{%s} = \"%s\";",
+                   "[%lu/0x%lx] $ENV{%s} = \"%s\";",
+                   (unsigned long)getpid(),
                    modperl_interp_address(aTHX), key, val);
 #endif
         return MP_PL_vtbl_call(envelem, set);
@@ -562,13 +568,15 @@ static int modperl_env_magic_clear(pTHX_
     if (r) {
         MP_dENV_KEY;
         apr_table_unset(r->subprocess_env, key);
-        MP_TRACE_e(MP_FUNC, "[0x%lx] r->subprocess_env unset: %s",
+        MP_TRACE_e(MP_FUNC, "[%s/0x%lx] r->subprocess_env unset: %s",
+                   modperl_pid_tid(r->pool),
                    modperl_interp_address(aTHX), key);
     }
     else {
 #ifdef MP_TRACE
         MP_dENV_KEY;
-        MP_TRACE_e(MP_FUNC, "[0x%lx] delete $ENV{%s};",
+        MP_TRACE_e(MP_FUNC, "[%lu/0x%lx] delete $ENV{%s};",
+                   (unsigned long)getpid(),
                    modperl_interp_address(aTHX), key);
 #endif
         return MP_PL_vtbl_call(envelem, clear);
@@ -589,13 +597,15 @@ static int modperl_env_magic_get(pTHX_ S
         if ((val = apr_table_get(r->subprocess_env, key))) {
             sv_setpv(sv, val);
             MP_TRACE_e(MP_FUNC,
-                       "[0x%lx] r->subprocess_env get: %s => %s",
+                       "[%s/0x%lx] r->subprocess_env get: %s => %s",
+                       modperl_pid_tid(r->pool),
                        modperl_interp_address(aTHX), key, val);
         }
         else {
             sv_setsv(sv, &PL_sv_undef);
             MP_TRACE_e(MP_FUNC,
-                       "[0x%lx] r->subprocess_env get: %s => undef",
+                       "[%s/0x%lx] r->subprocess_env get: %s => undef",
+                       modperl_pid_tid(r->pool),
                        modperl_interp_address(aTHX), key);
         }
     }
@@ -604,7 +614,8 @@ static int modperl_env_magic_get(pTHX_ S
 #ifdef MP_TRACE
         MP_dENV_KEY;
         MP_TRACE_e(MP_FUNC,
-                   "[0x%lx] there is no svt_get in PL_vtbl_envelem: %s",
+                   "[%lu/0x%lx] there is no svt_get in PL_vtbl_envelem: %s",
+                   (unsigned long)getpid(),
                    modperl_interp_address(aTHX), key);
 #endif
     }

Modified: perl/modperl/trunk/src/modules/perl/modperl_handler.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_handler.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_handler.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_handler.c Thu Jun 12 08:39:46 
2014
@@ -39,7 +39,8 @@ modperl_handler_t *modperl_handler_new(a
     /* not necessary due to apr_pcalloc */
     /* handler->cv = NULL; */
     handler->name = name;
-    MP_TRACE_h(MP_FUNC, "new handler %s", handler->name);
+    MP_TRACE_h(MP_FUNC, "[%s] new handler %s",
+               modperl_pid_tid(p), handler->name);
 
     return handler;
 }
@@ -104,7 +105,8 @@ MP_INLINE modperl_mgv_t *modperl_handler
     anon->len  = strlen(anon->name);
     PERL_HASH(anon->hash, anon->name, anon->len);
 
-    MP_TRACE_h(MP_FUNC, "new anon handler: '%s'", anon->name);
+    MP_TRACE_h(MP_FUNC, "[%s] new anon handler: '%s'",
+               modperl_pid_tid(p), anon->name);
     return anon;
 }
 
@@ -173,7 +175,8 @@ modperl_handler_t *modperl_handler_new_a
     handler->cv   = cv;
     handler->name = NULL;
 
-    MP_TRACE_h(MP_FUNC, "new cached cv anon handler");
+    MP_TRACE_h(MP_FUNC, "[%s] new cached cv anon handler",
+               modperl_pid_tid(p));
 #endif
 
     return handler;
@@ -220,8 +223,9 @@ int modperl_handler_resolve(pTHX_ modper
         MpHandlerAUTOLOAD_On(handler);
 
         MP_TRACE_h(MP_FUNC,
-                   "[%s] handler %s hasn't yet been resolved, "
+                   "[%s %s] handler %s hasn't yet been resolved, "
                    "attempting to resolve using %s pool 0x%lx\n",
+                   modperl_pid_tid(p),
                    modperl_server_desc(s, p),
                    modperl_handler_name(handler),
                    duped ? "current" : "server conf",

Modified: perl/modperl/trunk/src/modules/perl/modperl_mgv.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_mgv.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_mgv.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_mgv.c Thu Jun 12 08:39:46 2014
@@ -211,12 +211,14 @@ int modperl_mgv_resolve(pTHX_ modperl_ha
         handler->name    = NULL;
         handler->mgv_obj = modperl_handler_anon_next(aTHX_ p);
         modperl_handler_anon_add(aTHX_ handler->mgv_obj, cv);
-        MP_TRACE_h(MP_FUNC, "new anon handler");
+        MP_TRACE_h(MP_FUNC, "[%s] new anon handler",
+                   modperl_pid_tid(p));
 #else
         SvREFCNT_inc(cv);
         handler->cv      = cv;
         handler->name    = NULL;
-        MP_TRACE_h(MP_FUNC, "new cached-cv anon handler");
+        MP_TRACE_h(MP_FUNC, "[%s] new cached-cv anon handler",
+                   modperl_pid_tid(p));
 #endif
 
         FREETMPS;LEAVE;
@@ -338,7 +340,8 @@ int modperl_mgv_resolve(pTHX_ modperl_ha
         modperl_mgv_append(aTHX_ p, handler->mgv_cv, handler_name);
 
         MpHandlerPARSED_On(handler);
-        MP_TRACE_h(MP_FUNC, "found `%s' in class `%s' as a %s",
+        MP_TRACE_h(MP_FUNC, "[%s] found `%s' in class `%s' as a %s",
+                   modperl_pid_tid(p),
                    handler_name, HvNAME(stash),
                    MpHandlerMETHOD(handler) ? "method" : "function");
         MODPERL_MGV_DEEP_RESOLVE(handler, p);

Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_util.c?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_util.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_util.c Thu Jun 12 08:39:46 2014
@@ -470,8 +470,9 @@ void modperl_perl_call_list(pTHX_ AV *su
     I32 i, oldscope = PL_scopestack_ix;
     SV **ary = AvARRAY(subs);
 
-    MP_TRACE_g(MP_FUNC, MP_TRACEf_PERLID
-               " running %d %s subs", MP_TRACEv_PERLID_
+    MP_TRACE_g(MP_FUNC, "pid %lu" MP_TRACEf_TID MP_TRACEf_PERLID
+               " running %d %s subs",
+               (unsigned long)getpid(), MP_TRACEv_TID_ MP_TRACEv_PERLID_
                AvFILLp(subs)+1, name);
 
     for (i=0; i<=AvFILLp(subs); i++) {

Modified: perl/modperl/trunk/src/modules/perl/modperl_util.h
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_util.h?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_util.h (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_util.h Thu Jun 12 08:39:46 2014
@@ -101,8 +101,20 @@ SV *modperl_apr_array_header2avrv(pTHX_ 
 apr_array_header_t *modperl_avrv2apr_array_header(pTHX_ apr_pool_t *p,
                                                   SV *avrv);
 void modperl_package_unload(pTHX_ const char *package);
+#if defined(MP_TRACE) && APR_HAS_THREADS
+#define MP_TRACEf_TID   "/tid 0x%lx"
+#define MP_TRACEv_TID   (unsigned long)apr_os_thread_current()
+#define MP_TRACEv_TID_  MP_TRACEv_TID,
+#define MP_TRACEv__TID  ,MP_TRACEv_TID
+#else
+#define MP_TRACEf_TID
+#define MP_TRACEv_TID
+#define MP_TRACEv_TID_
+#define MP_TRACEv__TID
+#endif /* APR_HAS_THREADS */
+
 #if defined(MP_TRACE) && defined(USE_ITHREADS)
-#define MP_TRACEf_PERLID   "perl id 0x%lx"
+#define MP_TRACEf_PERLID   "/perl id 0x%lx"
 #define MP_TRACEv_PERLID   (unsigned long)my_perl
 #define MP_TRACEv_PERLID_  MP_TRACEv_PERLID,
 #define MP_TRACEv__PERLID  ,MP_TRACEv_PERLID

Propchange: perl/modperl/trunk/t/modperl/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Jun 12 08:39:46 2014
@@ -1,7 +1,6 @@
 current_callback.t
 env.t
 endav.t
-interpreter.t
 printf.t
 print.t
 dir_config.t

Modified: perl/modperl/trunk/xs/maps/modperl_functions.map
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/xs/maps/modperl_functions.map?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/xs/maps/modperl_functions.map (original)
+++ perl/modperl/trunk/xs/maps/modperl_functions.map Thu Jun 12 08:39:46 2014
@@ -162,6 +162,3 @@ MODULE=Apache2::MPM    PACKAGE=Apache2::
 
 MODULE=Apache2::Access   PACKAGE=guess
  mpxs_Apache2__RequestRec_allow_override_opts
-
-MODULE=ModPerl::Interpreter
- mpxs_ModPerl__Interpreter_current | | class=Nullsv

Modified: perl/modperl/trunk/xs/maps/modperl_types.map
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/xs/maps/modperl_types.map?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/xs/maps/modperl_types.map (original)
+++ perl/modperl/trunk/xs/maps/modperl_types.map Thu Jun 12 08:39:46 2014
@@ -1,11 +1,6 @@
 ##########  mod_perl types  ##########
 
-struct modperl_filter_t        | Apache2::OutputFilter
-struct modperl_interp_t        | ModPerl::Interpreter
-struct modperl_interp_pool_t   | ModPerl::InterpPool
-struct modperl_tipool_t        | ModPerl::TiPool
-struct modperl_tipool_config_t | ModPerl::TiPoolConfig
-PerlInterpreter *              | IV
+struct modperl_filter_t | Apache2::OutputFilter
 
 ##########  Perl types  ##########
 

Modified: perl/modperl/trunk/xs/tables/current/Apache2/StructureTable.pm
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/xs/tables/current/Apache2/StructureTable.pm?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/xs/tables/current/Apache2/StructureTable.pm (original)
+++ perl/modperl/trunk/xs/tables/current/Apache2/StructureTable.pm Thu Jun 12 
08:39:46 2014
@@ -3333,126 +3333,6 @@ $Apache2::StructureTable = [
         'name' => 'suexec_enabled'
       }
     ]
-  },
-  {
-    'type' => 'modperl_interp_t',
-    'elts' => [
-      {
-        'type' => 'modperl_interp_pool_t *',
-        'name' => 'mip'
-      },
-      {
-        'type' => 'PerlInterpreter *',
-        'name' => 'perl'
-      },
-      {
-        'type' => 'int',
-        'name' => 'num_requests'
-      },
-      {
-        'type' => 'U8',
-        'name' => 'flags'
-      },
-      {
-        'type' => 'modperl_config_con_t *',
-        'name' => 'ccfg'
-      },
-      {
-        'type' => 'int',
-        'name' => 'refcnt'
-      },
-      {
-        'type' => 'unsigned long',
-        'name' => 'tid'
-      }
-    ]
-  },
-  {
-    'type' => 'modperl_interp_pool_t',
-    'elts' => [
-      {
-        'type' => 'server_rec *',
-        'name' => 'server'
-      },
-      {
-        'type' => 'modperl_tipool_t *',
-        'name' => 'tipool'
-      },
-      {
-        'type' => 'modperl_tipool_config_t *',
-        'name' => 'tipool_cfg'
-      },
-      {
-        'type' => 'modperl_interp_t *',
-        'name' => 'parent'
-      }
-    ]
-  },
-  {
-    'type' => 'modperl_tipool_t',
-    'elts' => [
-      {
-        'type' => 'perl_mutex',
-        'name' => 'tiplock'
-      },
-      {
-        'type' => 'perl_cond',
-        'name' => 'available'
-      },
-      {
-        'type' => 'modperl_list_t *',
-        'name' => 'idle'
-      },
-      {
-        'type' => 'modperl_list_t *',
-        'name' => 'busy'
-      },
-      {
-        'type' => 'int',
-        'name' => 'in_use'
-      },
-      {
-        'type' => 'int',
-        'name' => 'size'
-      },
-      {
-        'type' => 'void *',
-        'name' => 'data'
-      },
-      {
-        'type' => 'modperl_tipool_config_t *',
-        'name' => 'cfg'
-      },
-      {
-        'type' => 'modperl_tipool_vtbl_t *',
-        'name' => 'func'
-      }
-    ]
-  },
-  {
-    'type' => 'modperl_tipool_config_t',
-    'elts' => [
-      {
-        'type' => 'int',
-        'name' => 'start'
-      },
-      {
-        'type' => 'int',
-        'name' => 'min_spare'
-      },
-      {
-        'type' => 'int',
-        'name' => 'max_spare'
-      },
-      {
-        'type' => 'int',
-        'name' => 'max'
-      },
-      {
-        'type' => 'int',
-        'name' => 'max_requests'
-      }
-    ]
   }
 ];
 

Modified: perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm
URL: 
http://svn.apache.org/viewvc/perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm?rev=1602093&r1=1602092&r2=1602093&view=diff
==============================================================================
--- perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm (original)
+++ perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Thu Jun 12 
08:39:46 2014
@@ -8255,24 +8255,6 @@ $ModPerl::FunctionTable = [
         'name' => 'func'
       }
     ]
-  },
-  {
-    'return_type' => 'modperl_interp_t *',
-    'name' => 'mpxs_ModPerl__Interpreter_current',
-    'attr' => [
-      'static',
-      '__inline__'
-    ],
-    'args' => [
-      {
-        'type' => 'PerlInterpreter *',
-        'name' => 'my_perl'
-      },
-      {
-        'type' => 'SV *',
-        'name' => 'class'
-      }
-    ]
   }
 ];
 


Reply via email to