r4076 - trunk/varnish-cache/bin/varnishd
phk at projects.linpro.no
phk at projects.linpro.no
Tue May 12 09:28:12 CEST 2009
Author: phk
Date: 2009-05-12 09:28:12 +0200 (Tue, 12 May 2009)
New Revision: 4076
Modified:
trunk/varnish-cache/bin/varnishd/cache_center.c
trunk/varnish-cache/bin/varnishd/cache_esi.c
Log:
Take another stab at #487 by explicitly resetting the worker thread
workspace before we start using it in miss/pass/pipe.
Modified: trunk/varnish-cache/bin/varnishd/cache_center.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_center.c 2009-05-11 10:59:23 UTC (rev 4075)
+++ trunk/varnish-cache/bin/varnishd/cache_center.c 2009-05-12 07:28:12 UTC (rev 4076)
@@ -97,7 +97,6 @@
AZ(sp->obj);
assert(sp->xid == 0);
- WS_Reset(sp->wrk->ws, NULL);
i = HTC_Complete(sp->htc);
while (i == 0)
i = HTC_Rx(sp->htc);
@@ -816,6 +815,7 @@
AZ(sp->obj);
AN(sp->objcore);
AN(sp->objhead);
+ WS_Reset(sp->wrk->ws, NULL);
sp->wrk->bereq = &sp->wrk->http[0];
http_Setup(sp->wrk->bereq, sp->wrk->ws);
http_FilterHeader(sp, HTTPH_R_FETCH);
@@ -880,6 +880,7 @@
CHECK_OBJ_NOTNULL(sp->vcl, VCL_CONF_MAGIC);
AZ(sp->obj);
+ WS_Reset(sp->wrk->ws, NULL);
sp->wrk->bereq = &sp->wrk->http[0];
http_Setup(sp->wrk->bereq, sp->wrk->ws);
http_FilterHeader(sp, HTTPH_R_PASS);
@@ -929,6 +930,7 @@
CHECK_OBJ_NOTNULL(sp->vcl, VCL_CONF_MAGIC);
sp->acct_req.pipe++;
+ WS_Reset(sp->wrk->ws, NULL);
sp->wrk->bereq = &sp->wrk->http[0];
http_Setup(sp->wrk->bereq, sp->wrk->ws);
http_FilterHeader(sp, HTTPH_R_PIPE);
Modified: trunk/varnish-cache/bin/varnishd/cache_esi.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_esi.c 2009-05-11 10:59:23 UTC (rev 4075)
+++ trunk/varnish-cache/bin/varnishd/cache_esi.c 2009-05-12 07:28:12 UTC (rev 4076)
@@ -760,7 +760,7 @@
struct esi_bit *eb;
struct object *obj;
struct worker *w;
- char *ws_wm, *wws_wm;
+ char *ws_wm;
struct http http_save;
w = sp->wrk;
@@ -797,7 +797,6 @@
/* Take a workspace snapshot */
ws_wm = WS_Snapshot(sp->ws);
- wws_wm = WS_Snapshot(sp->wrk->ws);
http_SetH(sp->http, HTTP_HDR_URL, eb->include.b);
if (eb->host.b != NULL) {
@@ -838,7 +837,6 @@
/* Reset the workspace */
WS_Reset(sp->ws, ws_wm);
- WS_Reset(sp->wrk->ws, wws_wm);
WRW_Reserve(sp->wrk, &sp->fd);
if (sp->fd < 0)
More information about the varnish-commit
mailing list