dougm 01/09/09 21:43:03
Modified: lib/ModPerl WrapXS.pm
src/modules/perl mod_perl.c
Added: lib/ModPerl XSLoader.pm
Log:
do not bootstrap xs libs outside of httpd
Revision Changes Path
1.20 +2 -2 modperl-2.0/lib/ModPerl/WrapXS.pm
Index: WrapXS.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/WrapXS.pm,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- WrapXS.pm 2001/06/26 16:26:51 1.19
+++ WrapXS.pm 2001/09/10 04:43:02 1.20
@@ -488,9 +488,9 @@
package $module;
$isa
-use XSLoader ();
+use ModPerl::XSLoader ();
our \$VERSION = '0.01';
-XSLoader::load __PACKAGE__;
+ModPerl::XSLoader::load __PACKAGE__;
$code
1.1 modperl-2.0/lib/ModPerl/XSLoader.pm
Index: XSLoader.pm
===================================================================
package ModPerl::XSLoader;
use strict;
use warnings FATAL => 'all';
use XSLoader ();
BEGIN {
unless (defined &BOOTSTRAP) {
*BOOTSTRAP = sub () { 0 };
}
}
sub load {
return unless BOOTSTRAP;
XSLoader::load(@_);
}
1;
1.64 +10 -1 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.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- mod_perl.c 2001/08/30 05:15:51 1.63
+++ mod_perl.c 2001/09/10 04:43:03 1.64
@@ -24,6 +24,15 @@
}
#endif
+static void my_xs_init(pTHX)
+{
+ xs_init(aTHX); /* see modperl_xsinit.c */
+
+ newCONSTSUB(PL_defstash,
+ "ModPerl::XSLoader::BOOTSTRAP",
+ newSViv(1));
+}
+
PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p)
{
MP_dSCFG(s);
@@ -56,7 +65,7 @@
PL_perl_destruct_level = 2;
}
#endif
- status = perl_parse(perl, xs_init, argc, argv, NULL);
+ status = perl_parse(perl, my_xs_init, argc, argv, NULL);
if (status) {
perror("perl_parse");