From 971a586d2d9617a80cf6eaa45ec3f8c9cd4e1551 Mon Sep 17 00:00:00 2001 From: phk Date: Wed, 12 Jul 2006 13:28:26 +0000 Subject: [PATCH] First stab at implementing pass in vcl_miss() git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@456 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishd/cache_center.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/varnish-cache/bin/varnishd/cache_center.c b/varnish-cache/bin/varnishd/cache_center.c index e69bc87e..e79f667c 100644 --- a/varnish-cache/bin/varnishd/cache_center.c +++ b/varnish-cache/bin/varnishd/cache_center.c @@ -312,8 +312,15 @@ cnt_miss(struct worker *w, struct sess *sp) VCL_miss_method(sp); if (sp->handling == VCL_RET_ERROR) INCOMPL(); - if (sp->handling == VCL_RET_PASS) - INCOMPL(); + if (sp->handling == VCL_RET_PASS) { + sp->obj->cacheable = 0; + HSH_Unbusy(sp->obj); + HSH_Deref(sp->obj); + sp->obj = 0; + PassSession(w, sp); + sp->step = STP_DONE; + return; + } if (sp->handling == VCL_RET_LOOKUP) INCOMPL(); if (sp->handling == VCL_RET_FETCH) { -- 2.39.5