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

Maxim Dounin mdounin at mdounin.ru
Fri Aug 31 08:57:32 UTC 2012


Hello!

On Fri, Aug 31, 2012 at 03:27:13AM -0400, lenky0401 wrote:

> 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.

This code is lefover from earlier incomplete attempts to implement 
cached connections.  It's not currently used.

Maxim Dounin



More information about the nginx mailing list