From: phk Date: Mon, 24 Sep 2007 13:00:33 +0000 (+0000) Subject: Actually, we cannot touch objects on deathrow, so just ignore X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0c33724f959590ff9d5716138766e13796703fb;p=varnish Actually, we cannot touch objects on deathrow, so just ignore any object with heap_idx == 0. git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2011 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/cache_expire.c b/varnish-cache/bin/varnishd/cache_expire.c index 187bbcb9..d615577b 100644 --- a/varnish-cache/bin/varnishd/cache_expire.c +++ b/varnish-cache/bin/varnishd/cache_expire.c @@ -82,7 +82,7 @@ EXP_Touch(struct object *o, double now) CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC); if (o->lru_stamp + params->lru_timeout < now) { LOCK(&exp_mtx); /* XXX: should be ..._TRY */ - if (o->heap_idx != lru_target) { + if (o->heap_idx != lru_target && o->heap_idx != 0) { TAILQ_REMOVE(&exp_lru, o, deathrow); TAILQ_INSERT_TAIL(&exp_lru, o, deathrow); o->lru_stamp = now;