xref: /kvmtool/include/kvm/threadpool.h (revision d60bafe5d43fb00da8c7e0b3675351fae9a75670)
1*d60bafe5SSasha Levin #ifndef KVM__THREADPOOL_H
2*d60bafe5SSasha Levin #define KVM__THREADPOOL_H
3*d60bafe5SSasha Levin 
4*d60bafe5SSasha Levin #include <stdint.h>
5*d60bafe5SSasha Levin 
6*d60bafe5SSasha Levin struct kvm;
7*d60bafe5SSasha Levin 
8*d60bafe5SSasha Levin typedef void (*kvm_thread_callback_fn_t)(struct kvm *kvm, void *data);
9*d60bafe5SSasha Levin 
10*d60bafe5SSasha Levin int thread_pool__init(unsigned long thread_count);
11*d60bafe5SSasha Levin 
12*d60bafe5SSasha Levin void *thread_pool__add_jobtype(struct kvm *kvm, kvm_thread_callback_fn_t callback, void *data);
13*d60bafe5SSasha Levin 
14*d60bafe5SSasha Levin void thread_pool__signal_work(void *job);
15*d60bafe5SSasha Levin 
16*d60bafe5SSasha Levin #endif
17