[master] 1e60f81 Don't return OIS_STREAM as long as we know more data is forthcoming

Poul-Henning Kamp phk at varnish-cache.org
Mon Oct 7 10:58:43 CEST 2013


commit 1e60f8195b1fc377a6f4e83c403211cc05a3e13e
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Oct 7 08:58:26 2013 +0000

    Don't return OIS_STREAM as long as we know more data is forthcoming

diff --git a/bin/varnishd/cache/cache_obj.c b/bin/varnishd/cache/cache_obj.c
index eadd358..6da3348 100644
--- a/bin/varnishd/cache/cache_obj.c
+++ b/bin/varnishd/cache/cache_obj.c
@@ -104,9 +104,12 @@ ObjIter(struct objiter *oi, void **p, ssize_t *l)
 			ol -= oi->st->len;
 			nl -= oi->st->len;
 		}
+		oi->st = VTAILQ_NEXT(oi->st, list);
+		if (oi->st != NULL && oi->st->len == 0)
+			oi->st = NULL;
 		Lck_Unlock(&oi->bo->mtx);
 		assert(*l > 0);
-		return (OIS_STREAM);
+		return (oi->st ? OIS_DATA : OIS_STREAM);
 	}
 }
 



More information about the varnish-commit mailing list