[6.0] f465e905e Don't poll VSM_Status() while there is work to do and no interruptions.

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Wed Oct 31 13:08:26 UTC 2018


commit f465e905e97e858034171ddfbd5ad4ab3bed4015
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