[master] d7b9296 Certain failure scenarios, for instance PROXY protocol syntax errors, are handled so fast that there may be no numerical difference between the start and end session timestamps.

Poul-Henning Kamp phk at FreeBSD.org
Sat May 16 11:05:25 CEST 2015


commit d7b9296012f6a5d41c48198ab2ea991a173c3b2c
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sat May 16 08:59:57 2015 +0000

    Certain failure scenarios, for instance PROXY protocol syntax errors,
    are handled so fast that there may be no numerical difference between
    the start and end session timestamps.
    
    This is a consequence of our decision to use C type double (ieee 64bit FP)
    for timestamps, at the current distance from POSIX epoch, 1.5 billion
    seconds, the resolution is 238 nanoseconds.

diff --git a/bin/varnishd/cache/cache_session.c b/bin/varnishd/cache/cache_session.c
index 1f6a8ef..6153f84 100644
--- a/bin/varnishd/cache/cache_session.c
+++ b/bin/varnishd/cache/cache_session.c
@@ -560,7 +560,7 @@ SES_Delete(struct sess *sp, enum sess_close reason, double now)
 	if (reason == SC_NULL)
 		reason = (enum sess_close)-sp->fd;
 
-	assert(now > sp->t_open);
+	assert(now >= sp->t_open);
 	assert(VTAILQ_EMPTY(&sp->privs->privs));
 	VSL(SLT_SessClose, sp->vxid, "%s %.3f",
 	    sess_close_2str(reason, 0), now - sp->t_open);



More information about the varnish-commit mailing list