From: phk Date: Thu, 20 Jul 2006 13:42:56 +0000 (+0000) Subject: Only reference srcaddr on first request on session X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5317fa7f9954a51e9467ceb1939ae4919a517314;p=varnish Only reference srcaddr on first request on session git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@526 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/cache_center.c b/varnish-cache/bin/varnishd/cache_center.c index 0f22293d..e7384838 100644 --- a/varnish-cache/bin/varnishd/cache_center.c +++ b/varnish-cache/bin/varnishd/cache_center.c @@ -516,7 +516,6 @@ cnt_recv(struct sess *sp) sp->t0 = time(NULL); sp->vcl = VCL_Get(); - SES_RefSrcAddr(sp); assert(sp->obj == NULL); diff --git a/varnish-cache/bin/varnishd/cache_pool.c b/varnish-cache/bin/varnishd/cache_pool.c index bdc3e28f..4bed37bc 100644 --- a/varnish-cache/bin/varnishd/cache_pool.c +++ b/varnish-cache/bin/varnishd/cache_pool.c @@ -37,9 +37,10 @@ wrk_do_one(struct worker *w) TAILQ_REMOVE(&wrk_reqhead, wrq, list); VSL_stats->n_wrk_queue--; AZ(pthread_mutex_unlock(&wrk_mtx)); - assert(wrq->sess != NULL); - wrq->sess->wrk = w; CHECK_OBJ_NOTNULL(wrq->sess, SESS_MAGIC); + wrq->sess->wrk = w; + if (wrq->sess->srcaddr == NULL) + SES_RefSrcAddr(wrq->sess); if (w->nobj != NULL) CHECK_OBJ(w->nobj, OBJECT_MAGIC); if (w->nobjhead != NULL)