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");
  
  
  

Reply via email to