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