[master] 13d6057 Make foo.grace and foo.keep return 0. as lowest value. foo.ttl still returns -1. to close gap due to integer second timestamps.

Poul-Henning Kamp phk at varnish-cache.org
Mon Mar 14 11:21:26 CET 2011


commit 13d6057a61d010b015e58ae97b30b1ac9edad254
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Mar 14 10:16:12 2011 +0000

    Make foo.grace and foo.keep return 0. as lowest value.
    foo.ttl still returns -1. to close gap due to integer second timestamps.

diff --git a/bin/varnishd/cache_expire.c b/bin/varnishd/cache_expire.c
index 3a691a6..f71a630 100644
--- a/bin/varnishd/cache_expire.c
+++ b/bin/varnishd/cache_expire.c
@@ -73,11 +73,11 @@ EXP_Clr(struct exp *e)
 	e->keep = -1;
 }
 
-#define EXP_ACCESS(fld, extra)					\
+#define EXP_ACCESS(fld, low_val, extra)				\
 	double							\
 	EXP_Get_##fld(const struct exp *e)			\
 	{							\
-		return (e->fld > 0. ? e->fld : -1.);		\
+		return (e->fld > 0. ? e->fld : low_val);	\
 	}							\
 								\
 	void							\
@@ -91,9 +91,9 @@ EXP_Clr(struct exp *e)
 		}						\
 	}							\
 
-EXP_ACCESS(ttl, (e->grace = e->keep = -1.))
-EXP_ACCESS(grace,)
-EXP_ACCESS(keep,)
+EXP_ACCESS(ttl, -1., (e->grace = e->keep = -1.))
+EXP_ACCESS(grace, 0., )
+EXP_ACCESS(keep, 0.,)
 
 /*--------------------------------------------------------------------
  * Calculate when an object is out of ttl or grace, possibly constrained
diff --git a/bin/varnishtest/tests/b00030.vtc b/bin/varnishtest/tests/b00030.vtc
index 787aa0e..8cc5c7f 100644
--- a/bin/varnishtest/tests/b00030.vtc
+++ b/bin/varnishtest/tests/b00030.vtc
@@ -21,5 +21,5 @@ varnish v1 -vcl+backend {
 client c1 {
 	txreq
 	rxresp
-	expect resp.msg == "-1.000"
+	expect resp.msg == "0.000"
 } -run



More information about the varnish-commit mailing list