[experimental-ims] 1f8cdd7 Merge branch 'master' of ssh://git.varnish-cache.org/git/varnish-cache into experimental-ims

Geoff Simmons geoff at varnish-cache.org
Tue Jan 31 21:47:23 CET 2012


commit 1f8cdd71888885c0509d86cb1af906d22c6fa053
Merge: 3df9ebf 8a9ad30
Author: Geoff Simmons <geoff at uplex.de>
Date:   Tue Jan 31 21:40:15 2012 +0100

    Merge branch 'master' of ssh://git.varnish-cache.org/git/varnish-cache into experimental-ims

diff --cc bin/varnishd/cache/cache_center.c
index 8897e83,c933175..623eefd
--- a/bin/varnishd/cache/cache_center.c
+++ b/bin/varnishd/cache/cache_center.c
@@@ -647,15 -618,9 +630,15 @@@ cnt_fetch(struct sess *sp, struct worke
  
  		AZ(wrk->busyobj->do_esi);
  		AZ(wrk->busyobj->do_pass);
- 		
+ 
  		VCL_fetch_method(sp);
  
 +		/* Cancel streaming if a stale object was validated         */
 +		/* XXX: But not if original beresp.status != 304            */
 +		/*      See also AZ(busyobj->stale_obj) in cnt_streambody() */
 +		if (wrk->busyobj->stale_obj)
 +			wrk->busyobj->do_stream = 0;
 +
  		if (req->objcore != NULL && wrk->busyobj->do_pass)
  			req->objcore->flags |= OC_F_PASS;
  
@@@ -698,33 -663,25 +681,25 @@@
  }
  
  /*--------------------------------------------------------------------
-  * Fetch response body from the backend
+  * Prepare to fetch body from backend
   *
  DOT subgraph xcluster_body {
- DOT	fetchbody [
- DOT		shape=diamond
- DOT		label="stream ?"
- DOT	]
- DOT	fetchbody2 [
- DOT		shape=ellipse
- DOT		label="fetch body\nfrom backend\n"
+ DOT	prepfetch [
+ DOT		shape=record
+ DOT		label="{cnt_prepfetch:|error?|<out>stream ?}"
  DOT	]
  DOT }
- DOT fetchbody -> fetchbody2 [label=no,style=bold,color=red]
- DOT fetchbody -> fetchbody2 [style=bold,color=blue]
- DOT fetchbody -> prepresp [label=yes,style=bold,color=cyan]
- DOT fetchbody2 -> prepresp [style=bold,color=red]
- DOT fetchbody2 -> prepresp [style=bold,color=blue]
+ DOT prepfetch:out -> fetchbody [style=bold,color=red]
+ DOT prepfetch:out -> fetchbody [style=bold,color=blue]
+ DOT prepfetch:out -> prepresp [label=yes,style=bold,color=cyan]
   */
  
- 
  static int
- cnt_fetchbody(struct sess *sp, struct worker *wrk, struct req *req)
+ cnt_prepfetch(struct sess *sp, struct worker *wrk, struct req *req)
  {
- 	int i;
  	struct http *hp, *hp2;
  	char *b;
 -	uint16_t nhttp;
 +	uint16_t nhttp, stale_nhttp;
  	unsigned l;
  	struct vsb *vary = NULL;
  	int varyl = 0, pass;



More information about the varnish-commit mailing list