X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fworkqueue.c;h=b01f258c1caf1948b1b2ca6adf5e59ddf79adeae;hb=f1155256f7a168f5e2c0097cb4e7197b79c4f041;hp=732160bba65553a277403f6cee6159543283baad;hpb=fa7aa6d9457616ce28f97c83eaa616d0ff276870;p=libucw.git diff --git a/ucw/workqueue.c b/ucw/workqueue.c index 732160bb..b01f258c 100644 --- a/ucw/workqueue.c +++ b/ucw/workqueue.c @@ -53,7 +53,7 @@ worker_pool_init(struct worker_pool *p) pthread_attr_setstacksize(&attr, p->stack_size ? : ucwlib_thread_stack_size) < 0) ASSERT(0); - for (uns i=0; i < p->num_threads; i++) + for (uint i=0; i < p->num_threads; i++) { struct worker_thread *t = (p->new_thread ? p->new_thread() : xmalloc(sizeof(*t))); t->pool = p; @@ -71,7 +71,7 @@ worker_pool_init(struct worker_pool *p) void worker_pool_cleanup(struct worker_pool *p) { - for (uns i=0; i < p->num_threads; i++) + for (uint i=0; i < p->num_threads; i++) { struct work w = { .go = worker_thread_signal_finish @@ -131,8 +131,7 @@ raw_queue_put(struct raw_queue *q, struct work *w) q->pri_heap = xrealloc(old_heap, (q->heap_max + 1) * sizeof(struct work *)); } struct work **heap = q->pri_heap; - heap[++q->heap_cnt] = w; - HEAP_INSERT(struct work *, heap, q->heap_cnt, PRI_LESS, HEAP_SWAP); + HEAP_INSERT(struct work *, heap, q->heap_cnt, PRI_LESS, HEAP_SWAP, w); } pthread_mutex_unlock(&q->queue_mutex); sem_post(q->queue_sem); @@ -153,7 +152,7 @@ raw_queue_do_get(struct raw_queue *q) { struct work **heap = q->pri_heap; w = heap[1]; - HEAP_DELMIN(struct work *, heap, q->heap_cnt, PRI_LESS, HEAP_SWAP); + HEAP_DELETE_MIN(struct work *, heap, q->heap_cnt, PRI_LESS, HEAP_SWAP); } pthread_mutex_unlock(&q->queue_mutex); return w; @@ -239,7 +238,7 @@ static void wt_cleanup(struct worker_thread *t) struct w { struct work w; - uns id; + uint id; }; static void go(struct worker_thread *t, struct work *w) @@ -260,7 +259,7 @@ int main(void) struct work_queue q; work_queue_init(&pool, &q); - for (uns i=0; i<500; i++) + for (uint i=0; i<500; i++) { struct w *w = xmalloc_zero(sizeof(*w)); w->w.go = go;