#include <pthread.h>
#include <sched.h>
#include <unistd.h>
Go to the source code of this file.
Data Structures | |
| struct | pool_data_t |
| pthread_pool_t data structure More... | |
| struct | pthread_poolattr_t |
| pthread_pool_t attribute structure More... | |
| struct | pthread_pool_t |
| pthread_pool_t structure More... | |
Defines | |
| #define | PTHREAD_POOL_NONBLOCKING PTHREAD_POOL_NONBLOCKING |
| pthread_pool_t non-blocking enumeration | |
| #define | PTHREAD_POOL_BLOCKING PTHREAD_POOL_BLOCKING |
| pthread_pool_t blocking enumeration | |
Enumerations | |
| enum | { PTHREAD_POOL_NONBLOCKING, PTHREAD_POOL_BLOCKING } |
| pthread_pool_t blocking attribute enumeration More... | |
Functions | |
| int | pthread_pool_init (pthread_pool_t *pool, const pthread_poolattr_t *attr, const int num_threads, const int max_queue_length) |
| initialize pthread_pool_t structure | |
| int | pthread_pool_destroy (pthread_pool_t *pool) |
| destroy pthread_pool_t structure | |
| int | pthread_pool_addwork (pthread_pool_t *pool, void(*routine)(void *), void *arg) |
| add routine(arg) to pool work to be done | |
| int | pthread_pool_getindex (pthread_pool_t *pool, int *pool_index) |
| set index to thread pool index (starting at zero) | |
| int | pthread_pool_finishwork (pthread_pool_t *pool) |
| suspend calling thread until all pool work is done | |
| int | pthread_poolattr_init (pthread_poolattr_t *attr) |
| initialize pthread_pool_t attribute structure | |
| int | pthread_poolattr_destroy (pthread_poolattr_t *attr) |
| destroy pthread_pool_t attribute structure | |
| int | pthread_poolattr_getblock (const pthread_poolattr_t *attr, int *block) |
| set block to current blocking value | |
| int | pthread_poolattr_setblock (pthread_poolattr_t *attr, const int block) |
| set current blocking value to block | |
| anonymous enum |
pthread_pool_t blocking attribute enumeration
| PTHREAD_POOL_NONBLOCKING | pthread_pool_t non-blocking enumeration |
| PTHREAD_POOL_BLOCKING | pthread_pool_t blocking enumeration |
| int pthread_pool_addwork | ( | pthread_pool_t * | pool, | |
| void(*)(void *) | routine, | |||
| void * | arg | |||
| ) |
add routine(arg) to pool work to be done
| pool | pointer to pthread_pool_t structure | |
| routine | pointer to a function | |
| arg | pointer to argument for routine |
| int pthread_pool_destroy | ( | pthread_pool_t * | pool | ) |
destroy pthread_pool_t structure
| pool | pointer to pthread_pool_t structure |
| int pthread_pool_finishwork | ( | pthread_pool_t * | pool | ) |
suspend calling thread until all pool work is done
| pool | pointer to pthread_pool_t structure |
| int pthread_pool_getindex | ( | pthread_pool_t * | pool, | |
| int * | pool_index | |||
| ) |
set index to thread pool index (starting at zero)
| pool | pointer to pthread_pool_t structure | |
| pool_index | pointer to an index |
| int pthread_pool_init | ( | pthread_pool_t * | pool, | |
| const pthread_poolattr_t * | attr, | |||
| const int | num_threads, | |||
| const int | max_queue_length | |||
| ) |
initialize pthread_pool_t structure
| pool | pointer to pthread_pool_t structure | |
| attr | pointer to pthread_pool_t attribute structure | |
| num_threads | number of threads | |
| max_queue_length | maximum queue length |
| int pthread_poolattr_destroy | ( | pthread_poolattr_t * | attr | ) |
destroy pthread_pool_t attribute structure
| attr | pointer to pthread_pool_t attribute structure |
| int pthread_poolattr_getblock | ( | const pthread_poolattr_t * | attr, | |
| int * | block | |||
| ) |
set block to current blocking value
| attr | pointer to pthread_pool_t attribute structure | |
| block | pointer to blocking value |
| int pthread_poolattr_init | ( | pthread_poolattr_t * | attr | ) |
initialize pthread_pool_t attribute structure
| attr | pointer to pthread_pool_t attribute structure |
| int pthread_poolattr_setblock | ( | pthread_poolattr_t * | attr, | |
| const int | block | |||
| ) |
set current blocking value to block
| attr | pointer to pthread_pool_t attribute structure | |
| block | blocking value |
1.5.1