From: phk Date: Wed, 23 Aug 2006 14:30:06 +0000 (+0000) Subject: Handle backend failure in pass mode X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99e409a458aa6f31d4b04aadd548f25e884c5e26;p=varnish Handle backend failure in pass mode git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@909 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/cache_pass.c b/varnish-cache/bin/varnishd/cache_pass.c index 17d5e44c..ead16da0 100644 --- a/varnish-cache/bin/varnishd/cache_pass.c +++ b/varnish-cache/bin/varnishd/cache_pass.c @@ -45,6 +45,10 @@ pass_straight(struct sess *sp, int fd, struct http *hp, char *bi) i = http_Read(hp, fd, buf, c); if (i == 0 && bi == NULL) return (1); + if (i <= 0) { + vca_close_session(sp, "backend closed"); + return (1); + } assert(i > 0); sp->wrk->acct.bodybytes += WRK_Write(sp->wrk, buf, i); if (WRK_Flush(sp->wrk))