gozer       2004/09/09 11:29:09

  Modified:    .        Changes
               lib/Apache Reload.pm
               t/modules reload.t
               t/response/TestModules reload.pm
  Log:
  Add Apache::Reload->unregister_module() to explicitely remove a
  module from Apache::Reload's monitoring list.
  
  Revision  Changes    Path
  1.478     +3 -0      modperl-2.0/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.477
  retrieving revision 1.478
  diff -u -r1.477 -r1.478
  --- Changes   9 Sep 2004 16:58:08 -0000       1.477
  +++ Changes   9 Sep 2004 18:29:09 -0000       1.478
  @@ -12,6 +12,9 @@
   
   =item 1.99_17-dev
   
  +Add Apache::Reload->unregister_module() to explicitely remove a
  +module from Apache::Reload's monitoring list [Gozer]
  +
   introduce a custom modperl error message for failing filter handlers
   (previously 'unknown error' coming from rc=500 was logged) [Stas]
   
  
  
  
  1.15      +6 -0      modperl-2.0/lib/Apache/Reload.pm
  
  Index: Reload.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/lib/Apache/Reload.pm,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Reload.pm 11 Mar 2004 06:34:24 -0000      1.14
  +++ Reload.pm 9 Sep 2004 18:29:09 -0000       1.15
  @@ -66,6 +66,12 @@
       }
   }
   
  +sub unregister_module {
  +    my($class, $package) = @_;
  +    my $module = package_to_module($package);
  +    delete $INCS{$module};
  +}
  +
   # the first argument is:
   # $c if invoked as 'PerlPreConnectionHandler'
   # $r if invoked as 'PerlInitHandler'
  
  
  
  1.3       +13 -1     modperl-2.0/t/modules/reload.t
  
  Index: reload.t
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/modules/reload.t,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- reload.t  8 Sep 2004 23:46:13 -0000       1.2
  +++ reload.t  9 Sep 2004 18:29:09 -0000       1.3
  @@ -6,7 +6,7 @@
   use Apache::TestRequest;
   use File::Spec::Functions qw(catfile);
   
  -plan tests => 2;
  +plan tests => 3;
   
   my $module   = 'TestModules::reload';
   my $location = '/' . Apache::TestRequest::module2path($module);
  @@ -58,6 +58,18 @@
           $expected,
           $received,
           "Reload"
  +    );
  +}
  +
  +{
  +    my $expected = "unregistered OK";
  +    my $received = get_body($same_interp, \&GET, $location . '?last' );
  +    $skip++ unless defined $received;
  +    skip_not_same_interp(
  +        $skip,
  +        $expected,
  +        $received,
  +        "Unregister"
       );
   }
   
  
  
  
  1.3       +9 -1      modperl-2.0/t/response/TestModules/reload.pm
  
  Index: reload.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/response/TestModules/reload.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- reload.pm 8 Sep 2004 23:46:39 -0000       1.2
  +++ reload.pm 9 Sep 2004 18:29:09 -0000       1.3
  @@ -5,10 +5,18 @@
   
   use Apache::Const -compile => qw(OK);
   
  +my $package = 'Apache::Reload::Test';
  +
   sub handler {
       my $r = shift;
  +    
  +    if ($r->args eq 'last') {
  +        Apache::Reload->unregister_module($package);
  +        $r->print("unregistered OK");
  +        return Apache::OK;
  +    }
   
  -    eval "use Apache::Reload::Test";
  +    eval "use $package";
   
       Apache::Reload::Test::run($r);
   
  
  
  

Reply via email to