#define UNLOCKSHM(foo) AZ(pthread_mutex_unlock(foo))
#if 1
-#define LOCK(foo) AZ(pthread_mutex_lock(foo))
-#define UNLOCK(foo) AZ(pthread_mutex_unlock(foo))
+#define MTX pthread_mutex_t
+#define MTX_INIT(foo) AZ(pthread_mutex_init(foo, NULL))
+#define MTX_DESTROY(foo) AZ(pthread_mutex_destroy(foo))
+#define LOCK(foo) AZ(pthread_mutex_lock(foo))
+#define UNLOCK(foo) AZ(pthread_mutex_unlock(foo))
#else
#define LOCK(foo) \
do { \
static TAILQ_HEAD(,vbe_conn) vbe_head = TAILQ_HEAD_INITIALIZER(vbe_head);
-static pthread_mutex_t vbemtx;
+static MTX vbemtx;
/*--------------------------------------------------------------------*/
VBE_Init(void)
{
- AZ(pthread_mutex_init(&vbemtx, NULL));
+ MTX_INIT(&vbemtx);
}
buf = malloc(lbuf);
XXXAN(buf);
nbuf = 0;
+ printf("CLI ready\n");
while (1) {
pfd[0].fd = heritage.fds[2];
pfd[0].events = POLLIN;
static pthread_t exp_thread;
static struct binheap *exp_heap;
-static pthread_mutex_t exp_mtx;
+static MTX exp_mtx;
static unsigned expearly = 30;
static TAILQ_HEAD(,object) exp_deathrow = TAILQ_HEAD_INITIALIZER(exp_deathrow);
EXP_Init(void)
{
- AZ(pthread_mutex_init(&exp_mtx, NULL));
+ MTX_INIT(&exp_mtx);
exp_heap = binheap_new(NULL, object_cmp, object_update);
XXXAN(exp_heap);
AZ(pthread_create(&exp_thread, NULL, exp_prefetch, NULL));
XXXAN(w->nobjhead);
w->nobjhead->magic = OBJHEAD_MAGIC;
TAILQ_INIT(&w->nobjhead->objects);
- AZ(pthread_mutex_init(&w->nobjhead->mtx, NULL));
+ MTX_INIT(&w->nobjhead->mtx);
VSL_stats->n_objecthead++;
} else
CHECK_OBJ_NOTNULL(w->nobjhead, OBJHEAD_MAGIC);
if (hash->deref(oh))
return;
assert(TAILQ_EMPTY(&oh->objects));
- AZ(pthread_mutex_destroy(&oh->mtx));
+ MTX_DESTROY(&oh->mtx);
VSL_stats->n_objecthead--;
free(oh);
}
#include "cli_priv.h"
#include "cache.h"
-static pthread_mutex_t wrk_mtx;
+static MTX wrk_mtx;
/* Number of work requests queued in excess of worker threads available */
static unsigned wrk_overflow;
pthread_t tp;
int i;
- AZ(pthread_mutex_init(&wrk_mtx, NULL));
+ MTX_INIT(&wrk_mtx);
AZ(pthread_create(&tp, NULL, wrk_reaperthread, NULL));
AZ(pthread_detach(tp));
TAILQ_HEAD(srcaddrhead ,srcaddr);
static struct srcaddrhead srcaddr_hash[CLIENT_HASH];
-static pthread_mutex_t ses_mtx;
-static pthread_mutex_t stat_mtx;
-static pthread_mutex_t ses_mem_mtx;
+static MTX ses_mtx;
+static MTX stat_mtx;
+static MTX ses_mem_mtx;
/*--------------------------------------------------------------------
* Assign a srcaddr to this session.
for (i = 0; i < CLIENT_HASH; i++)
TAILQ_INIT(&srcaddr_hash[i]);
- AZ(pthread_mutex_init(&ses_mtx, NULL));
- AZ(pthread_mutex_init(&stat_mtx, NULL));
- AZ(pthread_mutex_init(&ses_mem_mtx, NULL));
+ MTX_INIT(&ses_mtx);
+ MTX_INIT(&stat_mtx);
+ MTX_INIT(&ses_mem_mtx);
}
static struct vcls *vcl_active; /* protected by vcl_mtx */
-static pthread_mutex_t vcl_mtx;
+static MTX vcl_mtx;
/*--------------------------------------------------------------------*/
VCL_Init()
{
- AZ(pthread_mutex_init(&vcl_mtx, NULL));
+ MTX_INIT(&vcl_mtx);
}
unsigned magic;
#define HCL_HEAD_MAGIC 0x0f327016
TAILQ_HEAD(, hcl_entry) head;
- pthread_mutex_t mtx;
+ MTX mtx;
};
static unsigned hcl_nhash = 16383;
for (u = 0; u < hcl_nhash; u++) {
TAILQ_INIT(&hcl_head[u].head);
- AZ(pthread_mutex_init(&hcl_head[u].mtx, NULL));
+ MTX_INIT(&hcl_head[u].mtx);
hcl_head[u].magic = HCL_HEAD_MAGIC;
}
}
};
static TAILQ_HEAD(, hsl_entry) hsl_head = TAILQ_HEAD_INITIALIZER(hsl_head);
-static pthread_mutex_t hsl_mutex;
+static MTX hsl_mutex;
/*--------------------------------------------------------------------
* The ->init method is called during process start and allows
hsl_start(void)
{
- AZ(pthread_mutex_init(&hsl_mutex, NULL));
+ MTX_INIT(&hsl_mutex);
}
/*--------------------------------------------------------------------
struct varnish_stats *VSL_stats;
static struct shmloghead *loghead;
static unsigned char *logstart;
-static pthread_mutex_t vsl_mtx;
+static MTX vsl_mtx;
/*
* This variant copies a byte-range directly to the log, without
assert(loghead->hdrsize == sizeof *loghead);
/* XXX more check sanity of loghead ? */
logstart = (unsigned char *)loghead + loghead->start;
- AZ(pthread_mutex_init(&vsl_mtx, NULL));
+ MTX_INIT(&vsl_mtx);
loghead->starttime = time(NULL);
memset(VSL_stats, 0, sizeof *VSL_stats);
}
struct smfhead order;
struct smfhead free[NBUCKET];
struct smfhead used;
- pthread_mutex_t mtx;
+ MTX mtx;
};
/*--------------------------------------------------------------------*/
{
struct smf *sp, *sp2;
+ assert(!(len % sc->pagesize));
sp = calloc(sizeof *sp, 1);
XXXAN(sp);
sp->magic = SMF_MAGIC;
off_t h;
assert(sz != 0);
+ assert(!(sz % sc->pagesize));
if (*fail < (uintmax_t)sc->pagesize * MINPAGES)
return;
/* XXX */
if (sum < MINPAGES * (uintmax_t)getpagesize())
exit (2);
- AZ(pthread_mutex_init(&sc->mtx, NULL));
+ MTX_INIT(&sc->mtx);
}
/*--------------------------------------------------------------------*/