[master] c15676c Don't unbusy objects that are not allowed to stream, until they have fetched their body.
Poul-Henning Kamp
phk at varnish-cache.org
Tue Sep 3 15:08:21 CEST 2013
commit c15676ca7c8c4335b692190f6064a859059fb5f5
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Sep 3 13:08:02 2013 +0000
Don't unbusy objects that are not allowed to stream, until they
have fetched their body.
diff --git a/bin/varnishd/cache/cache_fetch.c b/bin/varnishd/cache/cache_fetch.c
index d365158..6982be8 100644
--- a/bin/varnishd/cache/cache_fetch.c
+++ b/bin/varnishd/cache/cache_fetch.c
@@ -413,7 +413,8 @@ vbf_stp_fetch(struct worker *wrk, struct busyobj *bo)
}
AZ(obj->ws_o->overflow);
- HSH_Unbusy(&wrk->stats, obj->objcore);
+ if (bo->do_stream)
+ HSH_Unbusy(&wrk->stats, obj->objcore);
if (bo->vfp == NULL)
bo->vfp = &VFP_nop;
@@ -422,6 +423,8 @@ vbf_stp_fetch(struct worker *wrk, struct busyobj *bo)
VBO_setstate(bo, BOS_FETCHING);
V1F_fetch_body(wrk, bo);
+ if (!bo->do_stream)
+ HSH_Unbusy(&wrk->stats, obj->objcore);
HSH_Complete(obj->objcore);
assert(bo->refcount >= 1);
More information about the varnish-commit
mailing list