r3940 - trunk/varnish-cache/bin/varnishd

phk at projects.linpro.no phk at projects.linpro.no
Mon Mar 16 14:44:37 CET 2009


Author: phk
Date: 2009-03-16 14:44:36 +0100 (Mon, 16 Mar 2009)
New Revision: 3940

Modified:
   trunk/varnish-cache/bin/varnishd/cache_ban.c
   trunk/varnish-cache/bin/varnishd/cache_ban.h
Log:
Use a flag for "compile pending" status



Modified: trunk/varnish-cache/bin/varnishd/cache_ban.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_ban.c	2009-03-16 13:32:36 UTC (rev 3939)
+++ trunk/varnish-cache/bin/varnishd/cache_ban.c	2009-03-16 13:44:36 UTC (rev 3940)
@@ -513,12 +513,17 @@
 	b2->test = strdup(ban);
 	AN(b2->test);
 	b2->t0 = t0;
+	b2->flags |= BAN_F_PENDING;
 	if (b == NULL)
 		VTAILQ_INSERT_TAIL(&ban_head, b2, list);
 	else
 		VTAILQ_INSERT_BEFORE(b, b2, list);
 }
 
+/*--------------------------------------------------------------------
+ * All silos have read their bans now compile them.
+ */
+
 void
 BAN_Compile(void)
 {
@@ -529,10 +534,9 @@
 	ASSERT_CLI();
 
 	VTAILQ_FOREACH(b, &ban_head, list) {
-		if (!VTAILQ_EMPTY(&b->tests))
+		if (!(b->flags & BAN_F_PENDING))
 			continue;
-		if (b->test == NULL || *b->test == '\0')
-			continue;
+		b->flags &= ~BAN_F_PENDING;
 		av = ParseArgv(b->test, 0);
 		XXXAN(av);
 		XXXAZ(av[0]);

Modified: trunk/varnish-cache/bin/varnishd/cache_ban.h
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_ban.h	2009-03-16 13:32:36 UTC (rev 3939)
+++ trunk/varnish-cache/bin/varnishd/cache_ban.h	2009-03-16 13:44:36 UTC (rev 3940)
@@ -56,6 +56,7 @@
 	unsigned		refcount;
 	int			flags;
 #define BAN_F_GONE		(1 << 0)
+#define BAN_F_PENDING		(1 << 1)
 	VTAILQ_HEAD(,ban_test)	tests;
 	double			t0;
 	struct vsb		*vsb;



More information about the varnish-commit mailing list