r2011 - trunk/varnish-cache/bin/varnishd

phk at projects.linpro.no phk at projects.linpro.no
Mon Sep 24 15:00:33 CEST 2007


Author: phk
Date: 2007-09-24 15:00:33 +0200 (Mon, 24 Sep 2007)
New Revision: 2011

Modified:
   trunk/varnish-cache/bin/varnishd/cache_expire.c
Log:
Actually, we cannot touch objects on deathrow, so just ignore
any object with heap_idx == 0.



Modified: trunk/varnish-cache/bin/varnishd/cache_expire.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_expire.c	2007-09-24 12:58:14 UTC (rev 2010)
+++ trunk/varnish-cache/bin/varnishd/cache_expire.c	2007-09-24 13:00:33 UTC (rev 2011)
@@ -82,7 +82,7 @@
 	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;




More information about the varnish-commit mailing list