stas 2003/03/02 04:16:10
Modified: src/modules/perl mod_perl.c . Changes Log: make sure that the non-tied STDOUT is buffered before calling the perl response handler. Revision Changes Path 1.152 +10 -3 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.151 retrieving revision 1.152 diff -u -r1.151 -r1.152 --- mod_perl.c 4 Feb 2003 06:52:15 -0000 1.151 +++ mod_perl.c 2 Mar 2003 12:16:10 -0000 1.152 @@ -745,10 +745,12 @@ return modperl_wbucket_flush(rcfg->wbucket); } -static int modperl_response_handler_run(request_rec *r, int finish) +static int modperl_response_handler_run(pTHX_ request_rec *r, int finish) { int retval; + IoFLUSH_off(PL_defoutgv); /* $|=0 */ + modperl_response_init(r); retval = modperl_callback_per_dir(MP_RESPONSE_HANDLER, r); @@ -769,11 +771,16 @@ int modperl_response_handler(request_rec *r) { + dTHX; + if (!strEQ(r->handler, "modperl")) { return DECLINED; } + + /* XXX: modperl_response_handler should select perl interpreter + * just like modperl_response_handler_cgi does */ - return modperl_response_handler_run(r, TRUE); + return modperl_response_handler_run(aTHX_ r, TRUE); } int modperl_response_handler_cgi(request_rec *r) @@ -816,7 +823,7 @@ modperl_env_request_tie(aTHX_ r); - retval = modperl_response_handler_run(r, FALSE); + retval = modperl_response_handler_run(aTHX_ r, FALSE); modperl_io_handle_untie(aTHX_ h_stdout); modperl_io_handle_untie(aTHX_ h_stdin); 1.137 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.136 retrieving revision 1.137 diff -u -r1.136 -r1.137 --- Changes 2 Mar 2003 10:30:56 -0000 1.136 +++ Changes 2 Mar 2003 12:16:10 -0000 1.137 @@ -10,6 +10,9 @@ =item 1.99_09-dev +make sure that the non-tied STDOUT is buffered before calling the perl +response handler. [Stas] + fix the input filters handling of DECLINED handlers (consume the data, on behalf of the handler) + tests [Stas]