[master] e6755a5 Use the TAKE_OBJ_NOTNULL macro where relevant
Dridi Boukelmoune
dridi.boukelmoune at gmail.com
Fri Mar 18 12:24:04 CET 2016
commit e6755a5d2697051773d05b8cc9336c0726ad19ab
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: Fri Mar 18 12:02:53 2016 +0100
Use the TAKE_OBJ_NOTNULL macro where relevant
This patch was created using Coccinelle and the following steps:
$ cat >take.cocci <<EOF
@@
expression t, f;
constant m;
@@
- AN(f);
- t = *f;
- *f = NULL;
- CHECK_OBJ_NOTNULL(t, m);
+ TAKE_OBJ_NOTNULL(t, f, m);
EOF
$ spatch --sp-file take.cocci --dir . --in-place
diff --git a/bin/varnishd/cache/cache_backend_cfg.c b/bin/varnishd/cache/cache_backend_cfg.c
index 21f0782..e413b7b 100644
--- a/bin/varnishd/cache/cache_backend_cfg.c
+++ b/bin/varnishd/cache/cache_backend_cfg.c
@@ -148,10 +148,7 @@ VRT_delete_backend(VRT_CTX, struct director **dp)
struct backend *be;
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
- AN(dp);
- d = *dp;
- *dp = NULL;
- CHECK_OBJ_NOTNULL(d, DIRECTOR_MAGIC);
+ TAKE_OBJ_NOTNULL(d, dp, DIRECTOR_MAGIC);
CAST_OBJ_NOTNULL(be, d->priv, BACKEND_MAGIC);
Lck_Lock(&be->mtx);
be->admin_health = vbe_ah_deleted;
diff --git a/bin/varnishd/cache/cache_backend_tcp.c b/bin/varnishd/cache/cache_backend_tcp.c
index b43bf3c..fdabe6f 100644
--- a/bin/varnishd/cache/cache_backend_tcp.c
+++ b/bin/varnishd/cache/cache_backend_tcp.c
@@ -178,10 +178,7 @@ VBT_Rel(struct tcp_pool **tpp)
struct tcp_pool *tp;
struct vbc *vbc, *vbc2;
- AN(tpp);
- tp = *tpp;
- *tpp = NULL;
- CHECK_OBJ_NOTNULL(tp, TCP_POOL_MAGIC);
+ TAKE_OBJ_NOTNULL(tp, tpp, TCP_POOL_MAGIC);
assert(tp->refcnt > 0);
if (--tp->refcnt > 0)
return;
diff --git a/bin/varnishd/cache/cache_busyobj.c b/bin/varnishd/cache/cache_busyobj.c
index c3fa436..cab4dd8 100644
--- a/bin/varnishd/cache/cache_busyobj.c
+++ b/bin/varnishd/cache/cache_busyobj.c
@@ -76,10 +76,7 @@ vbo_Free(struct busyobj **bop)
{
struct busyobj *bo;
- AN(bop);
- bo = *bop;
- *bop = NULL;
- CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
+ TAKE_OBJ_NOTNULL(bo, bop, BUSYOBJ_MAGIC);
AZ(bo->htc);
MPL_Free(vbopool, bo);
}
@@ -151,10 +148,7 @@ VBO_ReleaseBusyObj(struct worker *wrk, struct busyobj **pbo)
struct busyobj *bo;
CHECK_OBJ_ORNULL(wrk, WORKER_MAGIC);
- AN(pbo);
- bo = *pbo;
- *pbo = NULL;
- CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
+ TAKE_OBJ_NOTNULL(bo, pbo, BUSYOBJ_MAGIC);
CHECK_OBJ_ORNULL(bo->fetch_objcore, OBJCORE_MAGIC);
AZ(bo->htc);
diff --git a/bin/varnishd/cache/cache_hash.c b/bin/varnishd/cache/cache_hash.c
index 21088f7..fc5c368 100644
--- a/bin/varnishd/cache/cache_hash.c
+++ b/bin/varnishd/cache/cache_hash.c
@@ -860,10 +860,7 @@ HSH_DerefObjHead(struct worker *wrk, struct objhead **poh)
int r;
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
- AN(poh);
- oh = *poh;
- *poh = NULL;
- CHECK_OBJ_NOTNULL(oh, OBJHEAD_MAGIC);
+ TAKE_OBJ_NOTNULL(oh, poh, OBJHEAD_MAGIC);
if (oh == private_oh) {
assert(VTAILQ_EMPTY(&oh->waitinglist));
diff --git a/bin/varnishd/cache/cache_mempool.c b/bin/varnishd/cache/cache_mempool.c
index f4c1c30..85ca62c 100644
--- a/bin/varnishd/cache/cache_mempool.c
+++ b/bin/varnishd/cache/cache_mempool.c
@@ -253,10 +253,7 @@ MPL_Destroy(struct mempool **mpp)
{
struct mempool *mpl;
- AN(mpp);
- mpl = *mpp;
- *mpp = NULL;
- CHECK_OBJ_NOTNULL(mpl, MEMPOOL_MAGIC);
+ TAKE_OBJ_NOTNULL(mpl, mpp, MEMPOOL_MAGIC);
Lck_Lock(&mpl->mtx);
AZ(mpl->live);
mpl->self_destruct = 1;
diff --git a/bin/varnishd/cache/cache_obj.c b/bin/varnishd/cache/cache_obj.c
index 46fd0fc..344525d 100644
--- a/bin/varnishd/cache/cache_obj.c
+++ b/bin/varnishd/cache/cache_obj.c
@@ -161,10 +161,7 @@ ObjDestroy(struct worker *wrk, struct objcore **p)
struct objcore *oc;
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
- AN(p);
- oc = *p;
- *p = NULL;
- CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
+ TAKE_OBJ_NOTNULL(oc, p, OBJCORE_MAGIC);
if (oc->boc != NULL)
obj_deleteboc(&oc->boc);
FREE_OBJ(oc);
diff --git a/bin/varnishd/cache/cache_vrt_vmod.c b/bin/varnishd/cache/cache_vrt_vmod.c
index 50e2d61..b18ae1d 100644
--- a/bin/varnishd/cache/cache_vrt_vmod.c
+++ b/bin/varnishd/cache/cache_vrt_vmod.c
@@ -149,10 +149,7 @@ VRT_Vmod_Fini(struct vmod **hdl)
ASSERT_CLI();
- AN(hdl);
- v = *hdl;
- *hdl = NULL;
- CHECK_OBJ_NOTNULL(v, VMOD_MAGIC);
+ TAKE_OBJ_NOTNULL(v, hdl, VMOD_MAGIC);
#ifndef DONT_DLCLOSE_VMODS
/*
diff --git a/bin/varnishd/common/common_vsm.c b/bin/varnishd/common/common_vsm.c
index 0dda841..49ba1b6 100644
--- a/bin/varnishd/common/common_vsm.c
+++ b/bin/varnishd/common/common_vsm.c
@@ -337,11 +337,7 @@ VSM_common_delete(struct vsm_sc **scp)
struct vsm_range *vr, *vr2;
struct vsm_sc *sc;
- AN(scp);
- sc =*scp;
- *scp = NULL;
-
- CHECK_OBJ_NOTNULL(sc, VSM_SC_MAGIC);
+ TAKE_OBJ_NOTNULL(sc, scp, VSM_SC_MAGIC);
VTAILQ_FOREACH_SAFE(vr, &sc->r_free, list, vr2)
FREE_OBJ(vr);
VTAILQ_FOREACH_SAFE(vr, &sc->r_used, list, vr2)
diff --git a/bin/varnishd/storage/storage_lru.c b/bin/varnishd/storage/storage_lru.c
index 785e3e1..9ca5380 100644
--- a/bin/varnishd/storage/storage_lru.c
+++ b/bin/varnishd/storage/storage_lru.c
@@ -71,10 +71,7 @@ LRU_Free(struct lru **pp)
{
struct lru *lru;
- AN(pp);
- lru = *pp;
- *pp = NULL;
- CHECK_OBJ_NOTNULL(lru, LRU_MAGIC);
+ TAKE_OBJ_NOTNULL(lru, pp, LRU_MAGIC);
Lck_Lock(&lru->mtx);
AN(VTAILQ_EMPTY(&lru->lru_head));
Lck_Unlock(&lru->mtx);
diff --git a/bin/varnishd/waiter/cache_waiter.c b/bin/varnishd/waiter/cache_waiter.c
index b1d0801..80def71 100644
--- a/bin/varnishd/waiter/cache_waiter.c
+++ b/bin/varnishd/waiter/cache_waiter.c
@@ -178,10 +178,7 @@ Waiter_Destroy(struct waiter **wp)
{
struct waiter *w;
- AN(wp);
- w = *wp;
- *wp = NULL;
- CHECK_OBJ_NOTNULL(w, WAITER_MAGIC);
+ TAKE_OBJ_NOTNULL(w, wp, WAITER_MAGIC);
AZ(binheap_root(w->heap));
AN(w->impl->fini);
diff --git a/lib/libvarnishapi/vsl_dispatch.c b/lib/libvarnishapi/vsl_dispatch.c
index bbcd7cc..16a575f 100644
--- a/lib/libvarnishapi/vsl_dispatch.c
+++ b/lib/libvarnishapi/vsl_dispatch.c
@@ -526,11 +526,7 @@ vtx_retire(struct VSLQ *vslq, struct vtx **pvtx)
struct chunk *chunk;
AN(vslq);
- AN(pvtx);
-
- vtx = *pvtx;
- *pvtx = NULL;
- CHECK_OBJ_NOTNULL(vtx, VTX_MAGIC);
+ TAKE_OBJ_NOTNULL(vtx, pvtx, VTX_MAGIC);
AN(vtx->flags & VTX_F_COMPLETE);
AN(vtx->flags & VTX_F_READY);
@@ -1109,10 +1105,7 @@ VSLQ_Delete(struct VSLQ **pvslq)
struct VSLQ *vslq;
struct vtx *vtx;
- AN(pvslq);
- vslq = *pvslq;
- *pvslq = NULL;
- CHECK_OBJ_NOTNULL(vslq, VSLQ_MAGIC);
+ TAKE_OBJ_NOTNULL(vslq, pvslq, VSLQ_MAGIC);
(void)VSLQ_Flush(vslq, NULL, NULL);
AZ(vslq->n_outstanding);
diff --git a/lib/libvarnishapi/vsl_query.c b/lib/libvarnishapi/vsl_query.c
index b2e0860..02c9cf3 100644
--- a/lib/libvarnishapi/vsl_query.c
+++ b/lib/libvarnishapi/vsl_query.c
@@ -332,10 +332,7 @@ vslq_deletequery(struct vslq_query **pquery)
{
struct vslq_query *query;
- AN(pquery);
- query = *pquery;
- *pquery = NULL;
- CHECK_OBJ_NOTNULL(query, VSLQ_QUERY_MAGIC);
+ TAKE_OBJ_NOTNULL(query, pquery, VSLQ_QUERY_MAGIC);
AN(query->vex);
vex_Free(&query->vex);
diff --git a/lib/libvarnishapi/vxp.c b/lib/libvarnishapi/vxp.c
index db91b30..558a99d 100644
--- a/lib/libvarnishapi/vxp.c
+++ b/lib/libvarnishapi/vxp.c
@@ -183,10 +183,7 @@ vxp_Delete(struct vxp **pvxp)
struct vxp *vxp;
struct membit *mb;
- AN(pvxp);
- vxp = *pvxp;
- *pvxp = NULL;
- CHECK_OBJ_NOTNULL(vxp, VXP_MAGIC);
+ TAKE_OBJ_NOTNULL(vxp, pvxp, VXP_MAGIC);
while (!VTAILQ_EMPTY(&vxp->membits)) {
mb = VTAILQ_FIRST(&vxp->membits);
diff --git a/lib/libvmod_directors/vdir.c b/lib/libvmod_directors/vdir.c
index 15dd56a..c267104 100644
--- a/lib/libvmod_directors/vdir.c
+++ b/lib/libvmod_directors/vdir.c
@@ -81,11 +81,7 @@ vdir_delete(struct vdir **vdp)
{
struct vdir *vd;
- AN(vdp);
- vd = *vdp;
- *vdp = NULL;
-
- CHECK_OBJ_NOTNULL(vd, VDIR_MAGIC);
+ TAKE_OBJ_NOTNULL(vd, vdp, VDIR_MAGIC);
free(vd->backend);
free(vd->weight);
More information about the varnish-commit
mailing list