[master] 5dc531f73 Don't poll VSM_Status() while there is work to do and no interruptions.

Poul-Henning Kamp phk at FreeBSD.org
Thu Oct 4 07:19:15 UTC 2018


commit 5dc531f7329016799e5a16bbe1ccc64bcce6e0e0
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Thu Oct 4 07:17:58 2018 +0000

    Don't poll VSM_Status() while there is work to do and no interruptions.
    
    Fixes   #2788

diff --git a/lib/libvarnishapi/vut.c b/lib/libvarnishapi/vut.c
index 03cd9f07a..b02644a81 100644
--- a/lib/libvarnishapi/vut.c
+++ b/lib/libvarnishapi/vut.c
@@ -420,7 +420,10 @@ VUT_Main(struct VUT *vut)
 			AZ(c);
 		}
 
-		i = VSLQ_Dispatch(vut->vslq, vut_dispatch, vut);
+		do
+			i = VSLQ_Dispatch(vut->vslq, vut_dispatch, vut);
+		while (i == vsl_more && !vut->sighup && !vut->sigusr1);
+
 		if (i == vsl_more)
 			continue;
 		else if (i == vsl_end) {


More information about the varnish-commit mailing list