where assign values to rrp->peers->last_cached?

lenky0401 nginx-forum at nginx.us
Fri Aug 31 07:27:13 UTC 2012


Assignment to the variable rrp->peers->last_cached cannot be found in
anywhere in total nginx-1.3.5 source code, if the variable's default value
is zero, this conditional will never be true:

ngx_int_t
ngx_http_upstream_get_round_robin_peer(ngx_peer_connection_t *pc, void
*data)
{
    ngx_http_upstream_rr_peer_data_t  *rrp = data;
...
    if (rrp->peers->last_cached) { ==============>//never be true?

        /* cached connection */

        c = rrp->peers->cached[rrp->peers->last_cached];
        rrp->peers->last_cached--;

        /* ngx_unlock_mutex(ppr->peers->mutex); */

#if (NGX_THREADS)
        c->read->lock = c->read->own_lock;
        c->write->lock = c->write->own_lock;
#endif

        pc->connection = c;
        pc->cached = 1;

        return NGX_OK;
    }
...

i don't know if i am missing something or not, can anyone help me understand
this? Thank you in advance.

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,230366,230366#msg-230366



More information about the nginx mailing list