From 5317fa7f9954a51e9467ceb1939ae4919a517314 Mon Sep 17 00:00:00 2001 From: phk Date: Thu, 20 Jul 2006 13:42:56 +0000 Subject: [PATCH] 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 --- varnish-cache/bin/varnishd/cache_center.c | 1 - varnish-cache/bin/varnishd/cache_pool.c | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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) -- 2.39.5