From b62052a7f694a5cb6e64f87e4c86b09f4396d8d8 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 1 Dec 2008 21:46:20 +0000 Subject: [PATCH] Various minor cleanups while we wait... git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3450 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishd/cache.h | 2 +- varnish-cache/bin/varnishd/cache_hash.c | 56 +++++++++---------- varnish-cache/bin/varnishd/cache_lck.c | 2 +- varnish-cache/bin/varnishd/cache_vrt_re.c | 1 - varnish-cache/bin/varnishd/hash_classic.c | 2 +- varnish-cache/bin/varnishd/hash_simple_list.c | 2 + 6 files changed, 30 insertions(+), 35 deletions(-) diff --git a/varnish-cache/bin/varnishd/cache.h b/varnish-cache/bin/varnishd/cache.h index 58f50063..8803dba5 100644 --- a/varnish-cache/bin/varnishd/cache.h +++ b/varnish-cache/bin/varnishd/cache.h @@ -509,7 +509,7 @@ void Lck__Lock(struct lock *lck, const char *p, const char *f, int l); void Lck__Unlock(struct lock *lck, const char *p, const char *f, int l); int Lck__Trylock(struct lock *lck, const char *p, const char *f, int l); void Lck__New(struct lock *lck, const char *w); -void Lck__Assert(struct lock *lck, int held); +void Lck__Assert(const struct lock *lck, int held); /* public interface: */ void LCK_Init(void); diff --git a/varnish-cache/bin/varnishd/cache_hash.c b/varnish-cache/bin/varnishd/cache_hash.c index aae32892..8776ee56 100644 --- a/varnish-cache/bin/varnishd/cache_hash.c +++ b/varnish-cache/bin/varnishd/cache_hash.c @@ -83,6 +83,8 @@ void HSH_Prealloc(struct sess *sp) { struct worker *w; + struct objhead *oh; + struct object *o; struct storage *st; CHECK_OBJ_NOTNULL(sp, SESS_MAGIC); @@ -90,47 +92,39 @@ HSH_Prealloc(struct sess *sp) w = sp->wrk; if (w->nobjhead == NULL) { - w->nobjhead = calloc(sizeof *w->nobjhead, 1); - XXXAN(w->nobjhead); - w->nobjhead->magic = OBJHEAD_MAGIC; - w->nobjhead->refcnt = 1; - VTAILQ_INIT(&w->nobjhead->objects); - VTAILQ_INIT(&w->nobjhead->waitinglist); - Lck_New(&w->nobjhead->mtx); + ALLOC_OBJ(oh, OBJHEAD_MAGIC); + XXXAN(oh); + oh->refcnt = 1; + VTAILQ_INIT(&oh->objects); + VTAILQ_INIT(&oh->waitinglist); + Lck_New(&oh->mtx); + w->nobjhead = oh; VSL_stats->n_objecthead++; } else CHECK_OBJ_NOTNULL(w->nobjhead, OBJHEAD_MAGIC); -#if 0 - /* Make sure there is space enough for the hash-string */ - if (w->nobjhead->hashlen < sp->lhashptr) { - w->objhead->hash = realloc(w->objhead->hash, sp->lhashptr); - w->objhead->hashlen = sp->lhashptr; - AN(w->objhead->hash); - } -#endif - if (w->nobj == NULL) { st = STV_alloc(sp, params->obj_workspace); XXXAN(st); assert(st->space > sizeof *w->nobj); - w->nobj = (void *)st->ptr; /* XXX: align ? */ - st->len = sizeof *w->nobj; - memset(w->nobj, 0, sizeof *w->nobj); - w->nobj->objstore = st; - WS_Init(w->nobj->ws_o, "obj", + o = (void *)st->ptr; /* XXX: align ? */ + st->len = sizeof *o; + memset(o, 0, sizeof *o); + o->objstore = st; + WS_Init(o->ws_o, "obj", st->ptr + st->len, st->space - st->len); st->len = st->space; - WS_Assert(w->nobj->ws_o); - http_Setup(w->nobj->http, w->nobj->ws_o); - w->nobj->magic = OBJECT_MAGIC; - w->nobj->http->magic = HTTP_MAGIC; - w->nobj->busy = 1; - w->nobj->refcnt = 1; - w->nobj->grace = NAN; - w->nobj->entered = NAN; - VTAILQ_INIT(&w->nobj->store); - VTAILQ_INIT(&w->nobj->esibits); + WS_Assert(o->ws_o); + http_Setup(o->http, o->ws_o); + o->magic = OBJECT_MAGIC; + o->http->magic = HTTP_MAGIC; + o->busy = 1; + o->refcnt = 1; + o->grace = NAN; + o->entered = NAN; + VTAILQ_INIT(&o->store); + VTAILQ_INIT(&o->esibits); + w->nobj = o; VSL_stats->n_object++; } else diff --git a/varnish-cache/bin/varnishd/cache_lck.c b/varnish-cache/bin/varnishd/cache_lck.c index 38d49eaf..aee535a3 100644 --- a/varnish-cache/bin/varnishd/cache_lck.c +++ b/varnish-cache/bin/varnishd/cache_lck.c @@ -125,7 +125,7 @@ Lck__Trylock(struct lock *lck, const char *p, const char *f, int l) } void -Lck__Assert(struct lock *lck, int held) +Lck__Assert(const struct lock *lck, int held) { struct ilck *ilck; diff --git a/varnish-cache/bin/varnishd/cache_vrt_re.c b/varnish-cache/bin/varnishd/cache_vrt_re.c index f505d0a8..69b78257 100644 --- a/varnish-cache/bin/varnishd/cache_vrt_re.c +++ b/varnish-cache/bin/varnishd/cache_vrt_re.c @@ -43,7 +43,6 @@ #include "shmlog.h" #include "vrt.h" -#include "vsb.h" #include "vcl.h" #include "cache.h" diff --git a/varnish-cache/bin/varnishd/hash_classic.c b/varnish-cache/bin/varnishd/hash_classic.c index fb14ddc2..f7f109c3 100644 --- a/varnish-cache/bin/varnishd/hash_classic.c +++ b/varnish-cache/bin/varnishd/hash_classic.c @@ -124,7 +124,7 @@ hcl_lookup(const struct sess *sp, struct objhead *noh) int i; CHECK_OBJ_NOTNULL(sp, SESS_MAGIC); - CHECK_OBJ_ORNULL(noh, OBJHEAD_MAGIC); + CHECK_OBJ_NOTNULL(noh, OBJHEAD_MAGIC); digest = ~0U; for (u = 0; u < sp->ihashptr; u += 2) { diff --git a/varnish-cache/bin/varnishd/hash_simple_list.c b/varnish-cache/bin/varnishd/hash_simple_list.c index 5cc7475b..3a8a89ce 100644 --- a/varnish-cache/bin/varnishd/hash_simple_list.c +++ b/varnish-cache/bin/varnishd/hash_simple_list.c @@ -71,6 +71,8 @@ hsl_lookup(const struct sess *sp, struct objhead *noh) struct objhead *oh; int i; + CHECK_OBJ_NOTNULL(sp, SESS_MAGIC); + CHECK_OBJ_NOTNULL(noh, OBJHEAD_MAGIC); Lck_Lock(&hsl_mtx); VTAILQ_FOREACH(oh, &hsl_head, hoh_list) { i = HSH_Compare(sp, oh); -- 2.39.5