[experimental-ims] c1dac64 Move vef_priv from worker to busyobj
Geoff Simmons
geoff at varnish-cache.org
Mon Jan 9 21:52:44 CET 2012
commit c1dac64284b5f9298d2fb42ab4f822f16f4dc1a4
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Nov 29 19:09:39 2011 +0000
Move vef_priv from worker to busyobj
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index c4d6f08..a0e2821 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -332,7 +332,6 @@ struct worker {
struct http *beresp;
struct vbc *vbc;
- struct vef_priv *vef_priv;
unsigned do_stream;
unsigned do_esi;
unsigned do_gzip;
@@ -507,6 +506,7 @@ struct busyobj {
struct http_conn htc;
enum body_status body_status;
+ struct vef_priv *vef_priv;
};
/* Object structure --------------------------------------------------*/
diff --git a/bin/varnishd/cache/cache_esi_fetch.c b/bin/varnishd/cache/cache_esi_fetch.c
index 5795849..e0765b6 100644
--- a/bin/varnishd/cache/cache_esi_fetch.c
+++ b/bin/varnishd/cache/cache_esi_fetch.c
@@ -150,7 +150,8 @@ vfp_vep_callback(struct worker *w, ssize_t l, enum vgz_flag flg)
int i;
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
- vef = w->vef_priv;
+ CHECK_OBJ_NOTNULL(w->busyobj, BUSYOBJ_MAGIC);
+ vef = w->busyobj->vef_priv;
CHECK_OBJ_NOTNULL(vef, VEF_MAGIC);
assert(l >= 0);
@@ -211,7 +212,8 @@ vfp_esi_bytes_ug(struct worker *w, struct http_conn *htc, ssize_t bytes)
struct vef_priv *vef;
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
- vef = w->vef_priv;
+ CHECK_OBJ_NOTNULL(w->busyobj, BUSYOBJ_MAGIC);
+ vef = w->busyobj->vef_priv;
CHECK_OBJ_NOTNULL(vef, VEF_MAGIC);
while (bytes > 0) {
@@ -252,7 +254,8 @@ vfp_esi_bytes_gg(struct worker *w, struct http_conn *htc, size_t bytes)
int i;
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
- vef = w->vef_priv;
+ CHECK_OBJ_NOTNULL(w->busyobj, BUSYOBJ_MAGIC);
+ vef = w->busyobj->vef_priv;
CHECK_OBJ_NOTNULL(vef, VEF_MAGIC);
assert(sizeof ibuf >= 1024);
ibuf2[0] = 0; /* For Flexelint */
@@ -308,19 +311,19 @@ vfp_esi_begin(struct worker *w, size_t estimate)
ALLOC_OBJ(vef, VEF_MAGIC);
AN(vef);
vef->vgz = VGZ_NewGzip(w, "G F E");
- AZ(w->vef_priv);
- w->vef_priv = vef;
+ AZ(w->busyobj->vef_priv);
+ w->busyobj->vef_priv = vef;
VEP_Init(w, vfp_vep_callback);
} else if (w->busyobj->is_gzip) {
w->busyobj->vgz_rx = VGZ_NewUngzip(w, "U F E");
ALLOC_OBJ(vef, VEF_MAGIC);
AN(vef);
vef->vgz = VGZ_NewGzip(w, "G F E");
- AZ(w->vef_priv);
- w->vef_priv = vef;
+ AZ(w->busyobj->vef_priv);
+ w->busyobj->vef_priv = vef;
VEP_Init(w, vfp_vep_callback);
} else {
- AZ(w->vef_priv);
+ AZ(w->busyobj->vef_priv);
VEP_Init(w, NULL);
}
@@ -358,6 +361,7 @@ vfp_esi_end(struct worker *w)
int retval;
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
+ CHECK_OBJ_NOTNULL(w->busyobj, BUSYOBJ_MAGIC);
AN(w->busyobj->vep);
retval = w->busyobj->fetch_failed;
@@ -387,10 +391,10 @@ vfp_esi_end(struct worker *w)
VSB_delete(vsb);
}
- if (w->vef_priv != NULL) {
- vef = w->vef_priv;
+ vef = w->busyobj->vef_priv;
+ if (vef != NULL) {
CHECK_OBJ_NOTNULL(vef, VEF_MAGIC);
- w->vef_priv = NULL;
+ w->busyobj->vef_priv = NULL;
VGZ_UpdateObj(vef->vgz, w->busyobj->fetch_obj);
if (VGZ_Destroy(&vef->vgz, -1) != VGZ_END)
retval = FetchError(w,
More information about the varnish-commit
mailing list