On 3/9/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

> --- httpd/httpd/trunk/modules/proxy/mod_proxy.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy.c Thu Mar  9 10:39:16 2006
> @@ -218,6 +218,26 @@
>              }
>          }
>      }
> +    else if (!strcasecmp(key, "ajpflushpackets")) {
> +        if (!strcasecmp(val, "on"))
> +            worker->ajp_flush_packets = ajp_flush_on;
> +        else if (!strcasecmp(val, "off"))
> +            worker->ajp_flush_packets = ajp_flush_off;
> +        else if (!strcasecmp(val, "auto"))
> +            worker->ajp_flush_packets = ajp_flush_auto;
> +        else
> +            return "FlushPackets must be On|Off|Auto";
> +    }
> +    else if (!strcasecmp(key, "ajpflushwait")) {
> +        ival = atoi(val);
> +        if (ival > 1000 || ival < 0) {
> +            return "AJPFlushWait must be <= 1000, or 0 for system default of 
> 10 millseconds.";
> +        }
> +        if (ival == 0)
> +            worker->ajp_flush_wait = AJP_FLUSH_WAIT;
> +        else
> +            worker->ajp_flush_wait = ival * 1000;    /* change to 
> microseconds */
> +    }
>      else {
>          return "unknown Worker parameter";
>      }

This isn't really a complaint about this particular change, more about
the way the worker parameter stuff works at the moment.

Sticking per-backend info like ajp_flush_wait into the worker object
and the code to configure it in mod_proxy.c itself seems very wrong to
me.  There should be a per-backend contect pointer to hold per-backend
information, and the work of handling worker parameters really should
be pushed to a per-backend callback or something like that.

-garrett

Reply via email to