Seems to be a problem with calling IoFLUSH() on an already flushed handle. This patch seems to fix it for me.
Index: xs/Apache/RequestIO/Apache__RequestIO.h =================================================================== RCS file: /home/cvs/modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h,v retrieving revision 1.37 diff -u -I$Id -r1.37 Apache__RequestIO.h --- xs/Apache/RequestIO/Apache__RequestIO.h 14 Mar 2003 05:33:19 -0000 1.37 +++ xs/Apache/RequestIO/Apache__RequestIO.h 2 Jul 2003 14:46:37 -0000 @@ -22,7 +22,7 @@ #define mpxs_output_flush(r, rcfg) \ /* if ($|) */ \ - if (IoFLUSH(PL_defoutgv)) { \ + if (bytes > 0 && IoFLUSH(PL_defoutgv)) { \ MP_FAILURE_CROAK(modperl_wbucket_flush(rcfg->wbucket, TRUE)); \ } On Wed, 2003-07-02 at 22:18, Bill Marrs wrote: > When I use Apache 2.0.46, mod_deflate with mod_perl-1.99_09 (or the latest > mod_perl-2.0 CVS), perl buffering is off ($|=1), and my perl script prints > nothing (e.g. 'print "";'), I get the following error: > > [Wed Jul 02 10:10:00 2003] [error] 19513: ModPerl::RegistryBB: 20014:Error > string not specified yet at /var/www/perl/test.pl line 6. > > If I switch to running the script under mod_cgi or if I remove the "$|=1;" > line, I do not get an error. > > Here is my script: > > #!/usr/bin/perl > $|=1; > print "Content-Type: text/html\n\n"; > print "hello world<P>"; > # This line causes the error > print ""; > > httpd.conf snipit: > > Alias /perl/ /var/www/perl/ > <Location /perl> > AddOutputFilterByType DEFLATE text/* > SetOutputFilter DEFLATE > AllowOverride None > SetHandler perl-script > PerlHandler ModPerl::RegistryBB > PerlSendHeader On > Options +ExecCGI > </Location> > > I've worked-around this problem by changing my print "" to print " ". It's > not a major issue for me, I'm just letting you know. Let me know if you > need any more info. > > -bill > >
signature.asc
Description: This is a digitally signed message part