[master] 26039a7 Don't call up the stack to call ourselves.
Poul-Henning Kamp
phk at FreeBSD.org
Wed Dec 16 21:44:15 CET 2015
commit 26039a79517476eee4d3a207175f8e3082d8654f
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Dec 16 20:43:56 2015 +0000
Don't call up the stack to call ourselves.
diff --git a/bin/varnishd/storage/storage_simple.c b/bin/varnishd/storage/storage_simple.c
index 6ce07c6..6550c0f 100644
--- a/bin/varnishd/storage/storage_simple.c
+++ b/bin/varnishd/storage/storage_simple.c
@@ -181,6 +181,31 @@ getobj(struct worker *wrk, struct objcore *oc)
return (o);
}
+static void __match_proto__(objslim_f)
+sml_slim(struct worker *wrk, struct objcore *oc)
+{
+ const struct stevedore *stv;
+ struct object *o;
+ struct storage *st, *stn;
+
+ CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
+
+ stv = oc->stobj->stevedore;
+ CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
+ o = getobj(wrk, oc);
+ CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);
+
+ if (o->esidata != NULL) {
+ sml_stv_free(stv, o->esidata);
+ o->esidata = NULL;
+ }
+ VTAILQ_FOREACH_SAFE(st, &o->list, list, stn) {
+ CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
+ VTAILQ_REMOVE(&o->list, st, list);
+ sml_stv_free(stv, st);
+ }
+}
+
static void __match_proto__(objfree_f)
sml_objfree(struct worker *wrk, struct objcore *oc)
{
@@ -189,7 +214,7 @@ sml_objfree(struct worker *wrk, struct objcore *oc)
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
CHECK_OBJ_NOTNULL(oc->stobj, STOREOBJ_MAGIC);
- ObjSlim(wrk, oc);
+ sml_slim(wrk, oc);
CAST_OBJ_NOTNULL(o, oc->stobj->priv, OBJECT_MAGIC);
o->magic = 0;
@@ -429,31 +454,6 @@ sml_trimstore(struct worker *wrk, struct objcore *oc)
}
}
-static void __match_proto__(objslim_f)
-sml_slim(struct worker *wrk, struct objcore *oc)
-{
- const struct stevedore *stv;
- struct object *o;
- struct storage *st, *stn;
-
- CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
-
- stv = oc->stobj->stevedore;
- CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
- o = getobj(wrk, oc);
- CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);
-
- if (o->esidata != NULL) {
- sml_stv_free(stv, o->esidata);
- o->esidata = NULL;
- }
- VTAILQ_FOREACH_SAFE(st, &o->list, list, stn) {
- CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
- VTAILQ_REMOVE(&o->list, st, list);
- sml_stv_free(stv, st);
- }
-}
-
static void * __match_proto__(objgetattr_f)
sml_getattr(struct worker *wrk, struct objcore *oc, enum obj_attr attr,
ssize_t *len)
More information about the varnish-commit
mailing list