Header that is included in every other header.
Definition threadqueue.c:127
Definition threadqueue.c:178
int thread_count
Number of threads spawned.
Definition threadqueue.c:203
threadqueue_queue_t * kvz_threadqueue_init(int thread_count)
Initialize the queue.
Definition threadqueue.c:357
void kvz_threadqueue_free_job(threadqueue_job_t **job_ptr)
Free a job.
Definition threadqueue.c:531
int kvz_threadqueue_job_dep_add(threadqueue_job_t *job, threadqueue_job_t *dependency)
Add a dependency between two jobs.
Definition threadqueue.c:478
threadqueue_job_t * kvz_threadqueue_job_create(void(*fptr)(void *arg), void *arg)
Create a job and return a pointer to it.
Definition threadqueue.c:420
int kvz_threadqueue_stop(threadqueue_queue_t *threadqueue)
Stop all threads after they finish the current jobs.
Definition threadqueue.c:580
int kvz_threadqueue_waitfor(threadqueue_queue_t *threadqueue, threadqueue_job_t *job)
Wait for a job to be completed.
Definition threadqueue.c:561
threadqueue_job_t * kvz_threadqueue_copy_ref(threadqueue_job_t *job)
Get a new pointer to a job.
Definition threadqueue.c:513
int kvz_threadqueue_submit(threadqueue_queue_t *threadqueue, threadqueue_job_t *job)
Definition threadqueue.c:446
void kvz_threadqueue_free(threadqueue_queue_t *threadqueue)
Stop all threads and free allocated resources.
Definition threadqueue.c:613