dougm       01/05/03 20:39:24

  Modified:    lib/ModPerl WrapXS.pm
  Log:
  make handcrafted xsubs GvSHARED
  
  Revision  Changes    Path
  1.16      +4 -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.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- WrapXS.pm 2001/05/03 16:28:44     1.15
  +++ WrapXS.pm 2001/05/04 03:39:24     1.16
  @@ -3,6 +3,7 @@
   use strict;
   use warnings FATAL => 'all';
   
  +use constant GvSHARED => $^V gt v5.7.0;
   use Apache::Build ();
   use ModPerl::Code ();
   use ModPerl::TypeMap ();
  @@ -401,7 +402,7 @@
       my($self, $name) = @_;
       my $str = "";
       return $str if $name =~ /$notshared$/o;
  -    $str = "    ATTRS: shared\n" if $^V gt v5.7.0;
  +    $str = "    ATTRS: shared\n" if GvSHARED;
       $str;
   }
   
  @@ -460,7 +461,8 @@
   
       if (my $newxs = $self->{newXS}->{$module}) {
           for my $xs (@$newxs) {
  -            print $fh qq{   (void)newXS("$xs->[0]", $xs->[1], __FILE__);\n};
  +            print $fh qq{   cv = newXS("$xs->[0]", $xs->[1], __FILE__);\n};
  +            print $fh qq{   GvSHARED_on(CvGV(cv));\n} if GvSHARED;
           }
       }
   
  
  
  

Reply via email to