From cb9c88c84e95f0979f1c825ec5ba20b9184e124c Mon Sep 17 00:00:00 2001 From: Heng Li Date: Tue, 8 Oct 2013 22:45:29 -0400 Subject: [PATCH] for C++ compatibility --- kthread.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kthread.c b/kthread.c index 981215f..e4b6568 100644 --- a/kthread.c +++ b/kthread.c @@ -23,10 +23,10 @@ typedef struct { deque_t *dq_init(int n_bits) { deque_t *d; - d = calloc(1, sizeof(deque_t)); + d = (deque_t*)calloc(1, sizeof(deque_t)); d->n_bits = n_bits; d->mask = (1U<a = calloc(1<a = (dqval_t*)calloc(1<q) == 0) { // work-stealing + if (dq_deq(w->q, 1, &k) < 0) { int i, max, max_i; for (i = 0, max = -1, max_i = -1; i < w->f->n; ++i) if (max < dq_size(w->f->w[i].q)) max = dq_size(w->f->w[i].q), max_i = i; if (dq_deq(w->f->w[max_i].q, 0, &k) < 0) k = -1; - } else if (dq_deq(w->q, 1, &k) < 0) k = -1; + } if (k >= 0) w->f->func(w->f->global, (uint8_t*)w->f->local + w->f->size * k); else if (w->f->finished) break; } @@ -107,19 +107,19 @@ void kt_for(int n, int (*func)(void*,void*), void *global, int m, int size, void int i, k; if (dq_bits <= 0) dq_bits = 10; - f = calloc(1, sizeof(kt_for_t)); + f = (kt_for_t*)calloc(1, sizeof(kt_for_t)); f->n = n - 1, f->size = size; f->global = global, f->local = local; f->func = func; - f->w = calloc(f->n, sizeof(ktf_worker_t)); + f->w = (ktf_worker_t*)calloc(f->n, sizeof(ktf_worker_t)); for (i = 0; i < f->n; ++i) { ktf_worker_t *wi = &f->w[i]; wi->f = f, wi->i = i; wi->q = dq_init(dq_bits); } - tid = calloc(f->n, sizeof(pthread_t)); + tid = (pthread_t*)calloc(f->n, sizeof(pthread_t)); for (i = 0; i < f->n; ++i) pthread_create(&tid[i], 0, ktf_worker, &f->w[i]); for (k = 0; k < m; ++k) { -- 2.47.3