stas 2003/03/02 19:36:17
Modified: . STATUS Log: log the issue with 'SetHandler modperl' not resetting $| => performance hit Revision Changes Path 1.36 +12 -1 modperl-2.0/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/modperl-2.0/STATUS,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- STATUS 26 Feb 2003 09:32:53 -0000 1.35 +++ STATUS 3 Mar 2003 03:36:17 -0000 1.36 @@ -50,6 +50,17 @@ Needs Patch or Further Investigation: ------------------------------------- +* 'SetHandler modperl' doesn't reset $|, so if anything turns it on + anywhere, it's going to stay that way. Meaning excessive flushing + probably causing a performance hit. I've tried to add the code to + reset it, but this requires getting a perl interpreter at the early + stage and it breaks several filter tests, which has relied before on + the coincidence that both the response handler and the filter were + run by the same interpreter (in particular this breaks the code + where push_handlers() uses a string as a handler, rather a CODE + reference, see t/filter/TestFilter/both_str_rec_add.pm, to + reproduce the problem, simply s/modperl/perl-script/) + * child processes never run END blocks. a good example is Apache::TestUtil, which doesn't cleanup files and dirs it has created, because the END block is not run.