From: phk Date: Wed, 19 Apr 2006 06:38:57 +0000 (+0000) Subject: Loop until we have read it all X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1af76f7030c948439e0f04a84290cc3a93905203;p=varnish Loop until we have read it all git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@143 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/cache_fetch.c b/varnish-cache/bin/varnishd/cache_fetch.c index 44afd29a..8c8a4386 100644 --- a/varnish-cache/bin/varnishd/cache_fetch.c +++ b/varnish-cache/bin/varnishd/cache_fetch.c @@ -91,10 +91,13 @@ FetchSession(struct worker *w, struct sess *sp) p += i; cl -= i; } - if (cl != 0) { + + while (cl != 0) { i = read(sp2.fd, p, cl); + assert(i > 0); VSL(SLT_Debug, 0, "R i %d cl %jd", i, cl); - assert(i == cl); + p += i; + cl -= i; } HttpdBuildSbuf(1, 1, w->sb, &sp2);