[master] 2074927 Add a hack so we always get the VSL logged on varnish -wait
Poul-Henning Kamp
phk at FreeBSD.org
Wed Jan 6 10:21:38 CET 2016
commit 207492768439398e2adef0f63d13a783cb74d74c
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Jan 6 09:21:18 2016 +0000
Add a hack so we always get the VSL logged on varnish -wait
diff --git a/bin/varnishtest/vtc_varnish.c b/bin/varnishtest/vtc_varnish.c
index 292be63..16d5d6c 100644
--- a/bin/varnishtest/vtc_varnish.c
+++ b/bin/varnishtest/vtc_varnish.c
@@ -77,6 +77,8 @@ struct varnish {
struct VSM_data *vd; /* vsc use */
unsigned vsl_tag_count[256];
+
+ volatile int vsl_idle;
};
#define NONSENSE "%XJEIFLH|)Xspa8P"
@@ -223,8 +225,9 @@ varnishlog_thread(void *priv)
i = VSL_Next(c);
if (i == 0) {
+ v->vsl_idle++;
/* Nothing to do but wait */
- VTIM_sleep(0.01);
+ VTIM_sleep(0.1);
continue;
} else if (i == -2) {
/* Abandoned - try reconnect */
@@ -235,6 +238,8 @@ varnishlog_thread(void *priv)
} else if (i != 1)
break;
+ v->vsl_idle = 0;
+
tag = VSL_TAG(c->rec.ptr);
vxid = VSL_ID(c->rec.ptr);
if (tag == SLT__Batch)
@@ -595,9 +600,11 @@ varnish_wait(struct varnish *v)
if (v->cli_fd < 0)
return;
+ varnish_ask_cli(v, "backend.list", &resp);
+ while (v->vsl_idle < 10)
+ (void)usleep(200000);
if (vtc_error)
(void)sleep(1); /* give panic messages a chance */
- varnish_ask_cli(v, "backend.list", &resp);
varnish_stop(v);
vtc_log(v->vl, 2, "Wait");
AZ(close(v->cli_fd));
More information about the varnish-commit
mailing list