|
static struct group * | group (struct u_worker_group *uwg) |
|
static struct pool * | pool (struct u_worker_thread_pool *uwtp) |
|
static void | locked_pool_pop_task (struct pool *p, struct task *out_task) |
|
static void | locked_pool_push_task (struct pool *p, struct group *g, u_worker_group_func_t func, void *data) |
|
static void | locked_pool_wake_worker_if_allowed (struct pool *p) |
|
static bool | locked_group_should_enter_wait_loop (struct pool *p, struct group *g) |
|
static bool | locked_group_should_wait (struct pool *p, struct group *g) |
|
static void | locked_group_wake_waiter_if_allowed (struct pool *p, struct group *g) |
|
static void | locked_group_wait (struct pool *p, struct group *g) |
|
static bool | locked_thread_allowed_to_work (struct pool *p) |
|
static void | locked_thread_wait_for_work (struct pool *p) |
|
static void * | run_func (void *ptr) |
|
struct u_worker_thread_pool * | u_worker_thread_pool_create (uint32_t starting_worker_count, uint32_t thread_count, const char *prefix) |
| Creates a new thread pool to be used by a worker group. More...
|
|
void | u_worker_thread_pool_destroy (struct u_worker_thread_pool *uwtp) |
| Internal function, only called by reference. More...
|
|
struct u_worker_group * | u_worker_group_create (struct u_worker_thread_pool *uwtp) |
| Create a new worker group. More...
|
|
void | u_worker_group_push (struct u_worker_group *uwg, u_worker_group_func_t f, void *data) |
| Push a new task to worker group. More...
|
|
void | u_worker_group_wait_all (struct u_worker_group *uwg) |
| Wait for all pushed tasks to be completed, "donates" this thread to the shared thread pool. More...
|
|
void | u_worker_group_destroy (struct u_worker_group *uwg) |
| Destroy a worker pool. More...
|
|