r458 - trunk/varnish-cache/bin/varnishd

phk at projects.linpro.no phk at projects.linpro.no
Wed Jul 12 16:13:50 CEST 2006


Author: phk
Date: 2006-07-12 16:13:50 +0200 (Wed, 12 Jul 2006)
New Revision: 458

Modified:
   trunk/varnish-cache/bin/varnishd/cache_center.c
Log:
Make Pass possible from vcl_hit()


Modified: trunk/varnish-cache/bin/varnishd/cache_center.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_center.c	2006-07-12 13:28:57 UTC (rev 457)
+++ trunk/varnish-cache/bin/varnishd/cache_center.c	2006-07-12 14:13:50 UTC (rev 458)
@@ -225,11 +225,23 @@
 {
 
 	VCL_hit_method(sp);
-
-	vca_write_obj(w, sp);
-	HSH_Deref(sp->obj);
-	sp->obj = NULL;
-	sp->step = STP_DONE;
+	if (sp->handling == VCL_RET_LOOKUP)
+		INCOMPL();
+	if (sp->handling == VCL_RET_PASS) {
+		PassSession(w, sp);
+		sp->step = STP_DONE;
+		return;
+	}
+	if (sp->handling == VCL_RET_ERROR)
+		INCOMPL();
+	if (sp->handling == VCL_RET_DELIVER) {
+		vca_write_obj(w, sp);
+		HSH_Deref(sp->obj);
+		sp->obj = NULL;
+		sp->step = STP_DONE;
+		return;
+	}
+	INCOMPL();
 }
 
 




More information about the varnish-commit mailing list