On 03/08/2006 03:46 AM, Jim Jagielski wrote:
> How about something like this? I whipped this out very quickly
> and just did some quick compile and config-test tests on it...
> Comments before I commit sometime tomorrow:

Basicly looks good to me. Thanks for doing so. Some comments inline.

>
> -                     */
> -                    if (apr_poll(conn_poll, 1, &conn_poll_fd, FLUSH_WAIT)
> -                        == APR_TIMEUP) {
> +                    if ( (conn->worker->flush_packets == flush_on) ||
> +                         ( (conn->worker->flush_packets == flush_auto) &&
> +                           (apr_poll(conn_poll, 1, &conn_poll_fd, FLUSH_WAIT)
> +                             == APR_TIMEUP) ) ) {

Shouldn't we make the size of FLUSH_WAIT configurable somehow (possibly in a 
next step)?

> @@ -366,6 +355,7 @@
>                                    "proxy: error processing body");
>                      isok = 0;
>                  }
> +                /* XXX: what about flush here? See mod_jk */

We sent an eos bucket down the chain just a few lines up. Doesn't this cause a 
flush
of the remaining data by the core output filter?

> ===================================================================
> --- modules/proxy/mod_proxy.h (revision 384045)
> +++ modules/proxy/mod_proxy.h (working copy)
> @@ -301,6 +301,11 @@
>  #if APR_HAS_THREADS
>      apr_thread_mutex_t  *mutex;  /* Thread lock for updating address cache */
>  #endif
> +    enum {
> +      flush_off,
> +      flush_on,
> +      flush_auto
> +    } flush_packets;                   /* how to deal with bad headers */

Just a style question: Shouldn't we define a type for this outside the struct 
and
declare flush_packets as this type?

Regards

RĂ¼diger

Reply via email to