]> err.no Git - varnish/commitdiff
Implement error in miss also
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 23 Aug 2006 11:27:54 +0000 (11:27 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 23 Aug 2006 11:27:54 +0000 (11:27 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@905 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache_center.c

index b6e5af927a441c8918910350453766ccf7dca82e..cce8898f0d0ed2e224c87b118dcae3909377413e 100644 (file)
@@ -450,8 +450,14 @@ cnt_miss(struct sess *sp)
 {
 
        VCL_miss_method(sp);
-       if (sp->handling == VCL_RET_ERROR)
-               INCOMPL();
+       if (sp->handling == VCL_RET_ERROR) {
+               sp->obj->cacheable = 0;
+               HSH_Unbusy(sp->obj);
+               HSH_Deref(sp->obj);
+               sp->obj = NULL;
+               sp->step = STP_ERROR;
+               return (0);
+       }
        if (sp->handling == VCL_RET_PASS) {
                sp->obj->cacheable = 0;
                HSH_Unbusy(sp->obj);