You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Kevin J Walters <Ke...@morganstanley.com> on 2009/06/23 15:51:25 UTC

testing for connections with keep-alive property from modules

Hi,

What's the recommended way to check for a connection having the
property of being kept alive?

I was expecting to see tests like c->keepalive == AP_CONN_KEEPALIVE
but i see that mod_proxy.c is testing c->keepalives which is the
incrementing counter of requests processed on that connection. Are
those two tests equivalent and interchangeable?

E.g. from 2.2.10's mod_proxy_http.c

    if ((r->proxyreq == PROXYREQ_REVERSE) && (!c->keepalives)
        && (apr_table_get(r->subprocess_env, "proxy-initial-not-pooled"))) {
        backend->close = 1;
    }


regards

|<evin

-- 
Kevin J Walters                      Morgan Stanley
kjw@ms.com                           25 Cabot Square
Tel: 020 7425 7886                   Canary Wharf
Fax: 020 7677 8504                   London E14 4QA

Re: testing for connections with keep-alive property from modules

Posted by Dan Poirier <po...@pobox.com>.
Kevin J Walters <Ke...@morganstanley.com> writes:

> What's the recommended way to check for a connection having the
> property of being kept alive?
>
> I was expecting to see tests like c->keepalive == AP_CONN_KEEPALIVE
> but i see that mod_proxy.c is testing c->keepalives which is the
> incrementing counter of requests processed on that connection. Are
> those two tests equivalent and interchangeable?
>
> E.g. from 2.2.10's mod_proxy_http.c
>
>     if ((r->proxyreq == PROXYREQ_REVERSE) && (!c->keepalives)
>         && (apr_table_get(r->subprocess_env, "proxy-initial-not-pooled"))) {
>         backend->close = 1;
>     }

c->keepalives will tell you how many requests the connection has
handled, not whether it's going to be kept alive past the current
request.  For that you need to look at c->keepalive.

-- 
Dan Poirier <po...@pobox.com>