Author: stas
Date: Fri Dec 10 20:00:36 2004
New Revision: 111572

URL: http://svn.apache.org/viewcvs?view=rev&rev=111572
Log:
new function ModPerl::Util::current_perl_id() which returns something
like (.e.g 0x92ac760) (aTHX) under threaded mpm and 0 under
non-threaded perl (0x0). Useful for debugging modperl under threaded
perls.

Added:
   perl/modperl/trunk/t/response/TestModperl/util.pm
Modified:
   perl/modperl/trunk/Changes
   perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h
   perl/modperl/trunk/xs/maps/modperl_functions.map

Modified: perl/modperl/trunk/Changes
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?view=diff&rev=111572&p1=perl/modperl/trunk/Changes&r1=111571&p2=perl/modperl/trunk/Changes&r2=111572
==============================================================================
--- perl/modperl/trunk/Changes  (original)
+++ perl/modperl/trunk/Changes  Fri Dec 10 20:00:36 2004
@@ -12,6 +12,11 @@
 
 =item 1.99_18-dev
 
+new function ModPerl::Util::current_perl_id() which returns something
+like (.e.g 0x92ac760) (aTHX) under threaded mpm and 0 under
+non-threaded perl (0x0). Useful for debugging modperl under threaded
+perls.  [Stas]
+
 make sure that modperl's internal post_config callback, which amongst
 other things, cloning perl interpreters is running as
 modperl_hook_post_config_last APR_HOOK_REALLY_LAST, which ensures that

Added: perl/modperl/trunk/t/response/TestModperl/util.pm
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/t/response/TestModperl/util.pm?view=auto&rev=111572
==============================================================================
--- (empty file)
+++ perl/modperl/trunk/t/response/TestModperl/util.pm   Fri Dec 10 20:00:36 2004
@@ -0,0 +1,28 @@
+package TestModperl::util;
+
+# Modperl::Util tests
+
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestUtil;
+
+use Apache::RequestIO ();
+use Apache::RequestUtil ();
+
+use Apache::Const -compile => 'OK';
+
+sub handler {
+    my $r = shift;
+
+    plan $r, tests => 1;
+
+    ok t_cmp ModPerl::Util::current_perl_id(), qr/0x\d+/,
+        "perl interpreter id";
+
+    Apache::OK;
+}
+
+1;
+__END__

Modified: perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h?view=diff&rev=111572&p1=perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h&r1=111571&p2=perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h&r2=111572
==============================================================================
--- perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h  (original)
+++ perl/modperl/trunk/xs/ModPerl/Util/ModPerl__Util.h  Fri Dec 10 20:00:36 2004
@@ -13,6 +13,14 @@
  * limitations under the License.
  */
 
+#ifdef USE_ITHREADS
+#define mpxs_ModPerl__Util_current_perl_id() \
+    newSVpvf("0x%lx", (unsigned long)aTHX)
+#else
+#define mpxs_ModPerl__Util_current_perl_id() \
+    newSVpvf("0x%lx", 0)
+#endif
+
 static MP_INLINE void mpxs_ModPerl__Util_untaint(pTHX_ I32 items,
                                                  SV **MARK, SV **SP)
 {

Modified: perl/modperl/trunk/xs/maps/modperl_functions.map
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/maps/modperl_functions.map?view=diff&rev=111572&p1=perl/modperl/trunk/xs/maps/modperl_functions.map&r1=111571&p2=perl/modperl/trunk/xs/maps/modperl_functions.map&r2=111572
==============================================================================
--- perl/modperl/trunk/xs/maps/modperl_functions.map    (original)
+++ perl/modperl/trunk/xs/maps/modperl_functions.map    Fri Dec 10 20:00:36 2004
@@ -5,6 +5,7 @@
 
 MODULE=ModPerl::Util
  mpxs_ModPerl__Util_untaint | | ...
+ SV *:DEFINE_current_perl_id
  DEFINE_exit | | int:status=0
  char *:DEFINE_current_callback 
  DEFINE_unload_package | | const char *:package

Reply via email to