r3522 - trunk/varnish-cache/bin/varnishd

phk at projects.linpro.no phk at projects.linpro.no
Sun Jan 18 17:57:30 CET 2009


Author: phk
Date: 2009-01-18 17:57:29 +0100 (Sun, 18 Jan 2009)
New Revision: 3522

Modified:
   trunk/varnish-cache/bin/varnishd/cache_ban.c
Log:
List referenced, but gone purges, mark them with a "G"



Modified: trunk/varnish-cache/bin/varnishd/cache_ban.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_ban.c	2009-01-18 16:57:06 UTC (rev 3521)
+++ trunk/varnish-cache/bin/varnishd/cache_ban.c	2009-01-18 16:57:29 UTC (rev 3522)
@@ -415,7 +415,6 @@
 	}
 	Lck_Lock(&ban_mtx);
 	be->refcount--;
-	/* XXX: We should check if the tail can be removed */
 	VSL_stats->n_purge_dups += pcount;
 	Lck_Unlock(&ban_mtx);
 }
@@ -634,10 +633,12 @@
 	} while (b != NULL);
 
 	VTAILQ_FOREACH(b, &ban_head, list) {
-		if (b->flags & BAN_F_GONE)
+		if (b->refcount == 0 && (b->flags & BAN_F_GONE))
 			continue;
 		bt = VTAILQ_FIRST(&b->tests);
-		cli_out(cli, "%5u\t%s", b->refcount, bt->test);
+		cli_out(cli, "%5u%s\t%s", b->refcount,
+		    b->flags & BAN_F_GONE ? "G" : " ",
+		    bt->test);
 		do {
 			bt = VTAILQ_NEXT(bt, list);
 			if (bt != NULL)



More information about the varnish-commit mailing list