stas 2003/12/22 16:34:36
Modified: src/modules/perl modperl_config.c
t/hooks/TestHooks cleanup.pm
. Changes
Log:
Make sure that pnotes are destroyed after PerlCleanup handlers are
finished and not before + test.
Revision Changes Path
1.72 +2 -2 modperl-2.0/src/modules/perl/modperl_config.c
Index: modperl_config.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_config.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -u -r1.71 -r1.72
--- modperl_config.c 23 Oct 2003 18:34:51 -0000 1.71
+++ modperl_config.c 23 Dec 2003 00:34:36 -0000 1.72
@@ -288,12 +288,12 @@
apr_status_t retval;
MP_dRCFG;
+ retval = modperl_callback_per_dir(MP_CLEANUP_HANDLER, r, MP_HOOK_RUN_ALL);
+
if (rcfg->pnotes) {
SvREFCNT_dec(rcfg->pnotes);
rcfg->pnotes = Nullhv;
}
-
- retval = modperl_callback_per_dir(MP_CLEANUP_HANDLER, r, MP_HOOK_RUN_ALL);
/* undo changes to %ENV caused by +SetupEnv, perl-script, or
* $r->subprocess_env, so the values won't persist */
1.4 +8 -3 modperl-2.0/t/hooks/TestHooks/cleanup.pm
Index: cleanup.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/hooks/TestHooks/cleanup.pm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -u -r1.3 -r1.4
--- cleanup.pm 7 Aug 2003 18:58:54 -0000 1.3
+++ cleanup.pm 23 Dec 2003 00:34:36 -0000 1.4
@@ -25,7 +25,7 @@
$r->content_type('text/plain');
$r->print('ok');
-
+ $r->pnotes(items => ["cleanup"," ok"]);
$r->push_handlers(PerlCleanupHandler => \&cleanup2);
return Apache::OK;
@@ -34,8 +34,11 @@
sub cleanup1 {
my $r = shift;
+ my $items = $r->pnotes('items');
+ die "no items" unless $items;
+ my $item = $items ? $items->[0] : '';
#warn "cleanup CALLED\n";
- t_write_file(get_file(), "cleanup");
+ t_write_file(get_file(), $item);
return Apache::OK;
}
@@ -43,8 +46,10 @@
sub cleanup2 {
my $r = shift;
+ my $items = $r->pnotes('items');
+ my $item = $items ? $items->[1] : '';
#warn "cleanup2 CALLED\n";
- t_append_file(get_file(), " ok");
+ t_append_file(get_file(), $item);
return Apache::OK;
}
1.294 +3 -0 modperl-2.0/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl-2.0/Changes,v
retrieving revision 1.293
retrieving revision 1.294
diff -u -u -r1.293 -r1.294
--- Changes 22 Dec 2003 20:16:27 -0000 1.293
+++ Changes 23 Dec 2003 00:34:36 -0000 1.294
@@ -12,6 +12,9 @@
=item 1.99_13-dev
+Make sure that pnotes are destroyed after PerlCleanup handlers are
+finished and not before + test. [Stas]
+
=item 1.99_12 - Decemeber 22, 2003
Restore a proper behavior of all Registry handlers, but PerlRun, not