]> err.no Git - varnish/commitdiff
Only reference srcaddr on first request on session
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 20 Jul 2006 13:42:56 +0000 (13:42 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 20 Jul 2006 13:42:56 +0000 (13:42 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@526 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache_center.c
varnish-cache/bin/varnishd/cache_pool.c

index 0f22293dd67ee885e7f468b167b67f923a5e8888..e7384838069dcee7ded7d28e691935c9a1c85238 100644 (file)
@@ -516,7 +516,6 @@ cnt_recv(struct sess *sp)
 
        sp->t0 = time(NULL);
        sp->vcl = VCL_Get();
-       SES_RefSrcAddr(sp);
 
        assert(sp->obj == NULL);
 
index bdc3e28f2a48d2b3ef5569bf0eeaf83eacaf6d32..4bed37bc8a1850d78c76d28ab347bb67e0e9c477 100644 (file)
@@ -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)