[master] 32cab68 The assert that triggered in #1363 was to restrictive.
Poul-Henning Kamp
phk at varnish-cache.org
Thu Oct 24 10:29:04 CEST 2013
commit 32cab6890b04a4f95a743f7c00228b33fd577e24
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Thu Oct 24 08:28:04 2013 +0000
The assert that triggered in #1363 was to restrictive.
Fixes #1363
diff --git a/bin/varnishd/cache/cache_obj.c b/bin/varnishd/cache/cache_obj.c
index 6da3348..95862ae 100644
--- a/bin/varnishd/cache/cache_obj.c
+++ b/bin/varnishd/cache/cache_obj.c
@@ -97,7 +97,7 @@ ObjIter(struct objiter *oi, void **p, ssize_t *l)
VTAILQ_FOREACH(oi->st, &oi->obj->store, list) {
if (oi->st->len > ol) {
*p = oi->st->ptr + ol;
- *l = (nl - ol);
+ *l = oi->st->len - ol;
oi->len += *l;
break;
}
@@ -108,8 +108,8 @@ ObjIter(struct objiter *oi, void **p, ssize_t *l)
if (oi->st != NULL && oi->st->len == 0)
oi->st = NULL;
Lck_Unlock(&oi->bo->mtx);
- assert(*l > 0);
- return (oi->st ? OIS_DATA : OIS_STREAM);
+ assert(*l > 0 || oi->bo->state == BOS_FINISHED);
+ return (oi->st != NULL ? OIS_DATA : OIS_STREAM);
}
}
More information about the varnish-commit
mailing list