Von: Luca Toscano [mailto:toscano.l...@gmail.com] Gesendet: Freitag, 14. Juli 2017 11:30 An: Apache HTTP Server Development List <dev@httpd.apache.org> Betreff: Re: mod_proxy_fcgi and flush
Hi Yann, 2017-07-13 22:15 GMT+02:00 Yann Ylavic <ylavic....@gmail.com<mailto:ylavic....@gmail.com>>: On Thu, Jul 13, 2017 at 7:36 PM, Luca Toscano <toscano.l...@gmail.com<mailto:toscano.l...@gmail.com>> wrote: > > 1) read the FCGI headers to gather how much data the record is carrying > (clen) > 2) read the data in iobuf_size batches, sending each time the bytes > collected to the output filter chain. > 3) finally read the padding bytes (if any). > > I tried to use the same trick as mod_ajp for flushpackets=auto, but apr_poll > returned immediately most of the times due to the padding bytes ready to > read (took me a while to realize this simple thing). I forgot some details about proxy_fcgi so am asking before (re)looking at it :p Can't we poll() after 3) ? If so, maybe we could flush only if a small/zero timeout poll() times out, and hence still be able to coalesce multiple (closed) records. http://home.apache.org/~elukey/httpd-2.4.x-mod_proxy_fcgi-force_flush-v3.patch created, I tested it quickly and it seems working fine (still unsure about using r->connection->pool vs conn->pool in palloc). More tests following in the weekend :) r->pool is the correct pool to use. Regards Rüdiger Thanks for the hint! Luca