stas 2003/03/02 05:28:14
Modified: xs/tables/current/ModPerl FunctionTable.pm xs/maps modperl_functions.map apache_functions.map xs/Apache/RequestIO Apache__RequestIO.h . Changes Log: $r->rflush has to flush internal modperl buffer before calling ap_rflush, so implement rflush, instead of autogenerating the xs code for it. Revision Changes Path 1.106 +23 -1 modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm Index: FunctionTable.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v retrieving revision 1.105 retrieving revision 1.106 diff -u -r1.105 -r1.106 --- FunctionTable.pm 19 Feb 2003 23:55:23 -0000 1.105 +++ FunctionTable.pm 2 Mar 2003 13:28:13 -0000 1.106 @@ -5459,7 +5459,29 @@ } ] }, - { + { + 'return_type' => 'int', + 'name' => 'mpxs_Apache__RequestRec_rflush', + 'args' => [ + { + 'type' => 'PerlInterpreter *', + 'name' => 'my_perl' + }, + { + 'type' => 'I32', + 'name' => 'items' + }, + { + 'type' => 'SV **', + 'name' => 'mark' + }, + { + 'type' => 'SV **', + 'name' => 'sp' + } + ] + }, + { 'return_type' => 'int', 'name' => 'mpxs_Apache__RequestRec_proxyreq', 'args' => [ 1.55 +1 -0 modperl-2.0/xs/maps/modperl_functions.map Index: modperl_functions.map =================================================================== RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- modperl_functions.map 19 Feb 2003 23:55:23 -0000 1.54 +++ modperl_functions.map 2 Mar 2003 13:28:13 -0000 1.55 @@ -50,6 +50,7 @@ mpxs_Apache__RequestRec_print | | ... apr_ssize_t:DEFINE_WRITE | | \ request_rec *:r, SV *:buffer, apr_ssize_t:bufsiz=-1, int:offset=0 + mpxs_Apache__RequestRec_rflush | | ... mpxs_Apache__RequestRec_GETC mpxs_Apache__RequestRec_OPEN | | SV *:self, SV *:arg1, SV *:arg2=Nullsv mpxs_Apache__RequestRec_FILENO 1.63 +0 -1 modperl-2.0/xs/maps/apache_functions.map Index: apache_functions.map =================================================================== RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- apache_functions.map 17 Feb 2003 09:49:05 -0000 1.62 +++ apache_functions.map 2 Mar 2003 13:28:13 -0000 1.63 @@ -103,7 +103,6 @@ ap_get_client_block | mpxs_ | r, SV *:buffer, bufsiz ap_setup_client_block | | r, read_policy=REQUEST_CHUNKED_ERROR ap_should_client_block - ap_rflush PREFIX=ap_r ~ap_rwrite ap_rprintf | mpxs_ | ... 1.34 +17 -0 modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h Index: Apache__RequestIO.h =================================================================== RCS file: /home/cvs/modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- Apache__RequestIO.h 23 Jan 2003 00:31:28 -0000 1.33 +++ Apache__RequestIO.h 2 Mar 2003 13:28:13 -0000 1.34 @@ -133,6 +133,23 @@ return wlen; } +static MP_INLINE +int mpxs_Apache__RequestRec_rflush(pTHX_ I32 items, + SV **MARK, SV **SP) +{ + modperl_config_req_t *rcfg; + request_rec *r; + + /* this also magically assings to r ;-) */ + mpxs_usage_va_1(r, "$r->print(...)"); + + rcfg = modperl_config_req_get(r); + + MP_FAILURE_CROAK(modperl_wbucket_flush(rcfg->wbucket)); + + return ap_rflush(r); +} + static MP_INLINE long mpxs_ap_get_client_block(pTHX_ request_rec *r, SV *buffer, int bufsiz) { 1.139 +4 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.138 retrieving revision 1.139 diff -u -r1.138 -r1.139 --- Changes 2 Mar 2003 13:26:25 -0000 1.138 +++ Changes 2 Mar 2003 13:28:14 -0000 1.139 @@ -10,6 +10,10 @@ =item 1.99_09-dev +$r->rflush has to flush internal modperl buffer before calling +ap_rflush, so implement rflush, instead of autogenerating the xs code +for it. [Stas] + fix the input filters handling of DECLINED handlers (consume the data, on behalf of the handler) + tests [Stas]