Thread API version sw_pthread_api_20071026
.
More...
#include "threadapi.h"
Data Fields | |
int(* | attr_init )(pthread_attr_t *) |
Initialize an attribute structure to pass non-default attributes to pthread_create(). More... | |
int(* | attr_destroy )(pthread_attr_t *) |
Destroy an attribute structure previously initialized with pthread_attr_init(). More... | |
int(* | attr_setdetachstate )(pthread_attr_t *, int) |
Set the detach state of a thread attributes structure. More... | |
int(* | create )(pthread_t *, const pthread_attr_t *, void *(*start)(void *), void *) |
Create a thread. More... | |
int(* | join )(pthread_t, void **) |
Wait until a thread has been terminated. More... | |
int(* | mutexattr_init )(pthread_mutexattr_t *) |
Initialize a mutex attribute structure to pass non-default attributes to pthread_mutex_init(). More... | |
int(* | mutexattr_destroy )(pthread_mutexattr_t *) |
Destroy an attribute structure previously initialized with pthread_mutexattr_init(). More... | |
int(* | mutexattr_getpshared )(const pthread_mutexattr_t *, int *) |
Return the value of the process-shared attribute of the mutex attribute. More... | |
int(* | mutexattr_setpshared )(pthread_mutexattr_t *, int) |
Set a mutex attribute's process-shared attribute. More... | |
int(* | mutexattr_settype )(pthread_mutexattr_t *, int) |
Set a mutex attribute type. More... | |
int(* | mutexattr_gettype )(const pthread_mutexattr_t *, int *) |
Return the value of the type attribute of the mutex attribute. More... | |
int(* | mutex_init )(pthread_mutex_t *, const pthread_mutexattr_t *) |
Initialize a mutex object. More... | |
int(* | mutex_destroy )(pthread_mutex_t *) |
Destroy a mutex object. More... | |
int(* | mutex_lock )(pthread_mutex_t *) |
Try to lock a mutex object. More... | |
int(* | mutex_trylock )(pthread_mutex_t *) |
Try to lock a mutex object. More... | |
int(* | mutex_unlock )(pthread_mutex_t *) |
Unlock a mutex object. More... | |
int(* | cond_init )(pthread_cond_t *, const pthread_condattr_t *) |
Initialize a condition object. More... | |
int(* | cond_destroy )(pthread_cond_t *) |
Destroy a condition object. More... | |
int(* | cond_wait )(pthread_cond_t *, pthread_mutex_t *) |
Wait for a condition object to be signalled. More... | |
int(* | cond_timedwait )(pthread_cond_t *, pthread_mutex_t *, const struct timespec *) |
Wait for a condition object to be signalled. More... | |
int(* | cond_signal )(pthread_cond_t *) |
Unblock at least one thread waiting on a condition object. More... | |
int(* | cond_broadcast )(pthread_cond_t *) |
Unblock all threads waiting on a condition object. More... | |
void(* | set_thread_name )(const char *name) |
Set a thread name for debugging. More... | |
HqBool | valid |
Is this API structure valid? | |
Thread API version sw_pthread_api_20071026
.
int( * sw_pthread_api_20071026::attr_destroy) (pthread_attr_t *) |
Destroy an attribute structure previously initialized with pthread_attr_init().
[out] | attr | Pointer to a thread attributes object to destroy. |
See the Posix pthread_attr_destroy() specification for more detail.
int( * sw_pthread_api_20071026::attr_init) (pthread_attr_t *) |
Initialize an attribute structure to pass non-default attributes to pthread_create().
[out] | attr | Pointer to a thread attributes object to initialize. |
See the Posix pthread_attr_init() specification for more detail.
int( * sw_pthread_api_20071026::attr_setdetachstate) (pthread_attr_t *, int) |
Set the detach state of a thread attributes structure.
[out] | attr | Pointer to a thread attributes object to destroy. |
[in] | detachstate | Either PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE . |
See the Posix pthread_attr_setdetachstate() specification for more detail.
int( * sw_pthread_api_20071026::cond_broadcast) (pthread_cond_t *) |
Unblock all threads waiting on a condition object.
[in,out] | cond | A pointer to a condition object to signal. |
See the Posix pthread_cond_broadcast() specification for more detail.
int( * sw_pthread_api_20071026::cond_destroy) (pthread_cond_t *) |
Destroy a condition object.
[in] | cond | A pointer to a condition object to destroy. |
See the Posix pthread_cond_destroy() specification for more detail.
int( * sw_pthread_api_20071026::cond_init) (pthread_cond_t *, const pthread_condattr_t *) |
Initialize a condition object.
[out] | cond | A pointer to a condition object to initialize. |
[in] | attr | A condition attributes structure, or NULL to use the default condition attributes. |
NULL
). The ZMQ library used in the Scalable RIP may pass non-NULL
values of attr on some platforms.See the Posix pthread_cond_init() specification for more detail.
int( * sw_pthread_api_20071026::cond_signal) (pthread_cond_t *) |
Unblock at least one thread waiting on a condition object.
[in,out] | cond | A pointer to a condition object to signal. |
See the Posix pthread_cond_signal() specification for more detail.
int( * sw_pthread_api_20071026::cond_timedwait) (pthread_cond_t *, pthread_mutex_t *, const struct timespec *) |
Wait for a condition object to be signalled.
[in,out] | cond | A pointer to a condition object to wait on. |
[in,out] | mutex | A mutex to release and re-lock around the condition wait. |
[in] | timespec | A pointer to a time to stop waiting for the condition. A suitable time specification can be constructed by calling get_time_from_now() to get an end time relative to the current time, and then calling hqtime_to_timespec() to convert it to a struct timespec suitable for this parameter. |
ETIMEDOUT
if timed out; otherwise an error number.See the Posix pthread_cond_timedwait() specification for more detail.
int( * sw_pthread_api_20071026::cond_wait) (pthread_cond_t *, pthread_mutex_t *) |
Wait for a condition object to be signalled.
[in,out] | cond | A pointer to a condition object to wait on. |
[in,out] | mutex | A mutex to release and re-lock around the condition wait. |
See the Posix pthread_cond_wait() specification for more detail.
int( * sw_pthread_api_20071026::create) (pthread_t *, const pthread_attr_t *, void *(*start)(void *), void *) |
Create a thread.
[out] | thread | Location to store the new thread ID if successful. |
[in] | attr | A thread attributes structure, or NULL to use the default thread attributes. |
[in] | start | A function to run on the new thread, taking arg as its sole argument. |
[in] | arg | A pointer to pass to start when executed by the new thread. |
See the Posix pthread_create() specification for more detail.
int( * sw_pthread_api_20071026::join) (pthread_t, void **) |
Wait until a thread has been terminated.
[in] | thread | Location to store the new thread ID if successful. |
[out] | presult | An optional pointer to receive the return value of the thread start function. |
See the Posix pthread_join() specification for more detail.
int( * sw_pthread_api_20071026::mutex_destroy) (pthread_mutex_t *) |
Destroy a mutex object.
[out] | mutex | A pointer to a mutex object to destroy. |
See the Posix pthread_mutex_destroy() specification for more detail.
int( * sw_pthread_api_20071026::mutex_init) (pthread_mutex_t *, const pthread_mutexattr_t *) |
Initialize a mutex object.
[out] | mutex | A pointer to a mutex object to initialize. |
[in] | attr | A mutex attributes structure, or NULL to use the default mutex attributes. |
See the Posix pthread_mutex_init() specification for more detail.
int( * sw_pthread_api_20071026::mutex_lock) (pthread_mutex_t *) |
Try to lock a mutex object.
[in,out] | mutex | A pointer to a mutex object to lock. |
EBUSY
if the mutex is already locked; otherwise an error number.See the Posix pthread_mutex_trylock() specification for more detail.
int( * sw_pthread_api_20071026::mutex_trylock) (pthread_mutex_t *) |
Try to lock a mutex object.
[in,out] | mutex | A pointer to a mutex object to lock. |
EBUSY
if the mutex is already locked; otherwise an error number.See the Posix pthread_mutex_trylock() specification for more detail.
int( * sw_pthread_api_20071026::mutex_unlock) (pthread_mutex_t *) |
Unlock a mutex object.
[in,out] | mutex | A pointer to a mutex object to unlock. |
See the Posix pthread_mutex_unlock() specification for more detail.
int( * sw_pthread_api_20071026::mutexattr_destroy) (pthread_mutexattr_t *) |
Destroy an attribute structure previously initialized with pthread_mutexattr_init().
[out] | attr | Pointer to a mutex thread attributes object to destroy. |
See the Posix pthread_mutexattr_destroy() specification for more detail.
int( * sw_pthread_api_20071026::mutexattr_getpshared) (const pthread_mutexattr_t *, int *) |
Return the value of the process-shared attribute of the mutex attribute.
[in] | attr | A mutex attribute object. |
[out] | pshared | A location to store the process-shared attribute. |
NULL
in the API structure.See the Posix pthread_mutexattr_getpshared() specification for more detail.
int( * sw_pthread_api_20071026::mutexattr_gettype) (const pthread_mutexattr_t *, int *) |
Return the value of the type attribute of the mutex attribute.
[in] | attr | A mutex attribute object. |
[out] | ptype | A location to store the type attribute. |
NULL
in the API structure.See the Posix pthread_mutexattr_gettype() specification for more detail.
int( * sw_pthread_api_20071026::mutexattr_init) (pthread_mutexattr_t *) |
Initialize a mutex attribute structure to pass non-default attributes to pthread_mutex_init().
[out] | attr | Pointer to a mutex attributes object to initialize. |
See the Posix pthread_mutexattr_init() specification for more detail.
int( * sw_pthread_api_20071026::mutexattr_setpshared) (pthread_mutexattr_t *, int) |
Set a mutex attribute's process-shared attribute.
[out] | attr | A mutex attribute object. |
[in] | shared | Either PTHREAD_PROCESS_PRIVATE or PTHREAD_PROCESS_SHARED . |
NULL
in the API structure.See the Posix pthread_mutexattr_setpshared() specification for more detail.
int( * sw_pthread_api_20071026::mutexattr_settype) (pthread_mutexattr_t *, int) |
Set a mutex attribute type.
[out] | attr | A mutex attribute object. |
[in] | type | One of PTHREAD_MUTEX_NORMAL , PTHREAD_MUTEX_ERRORCHECK , PTHREAD_MUTEX_RECURSIVE , or PTHREAD_MUTEX_DEFAULT . |
PTHREAD_MUTEX_ERRORCHECK
or PTHREAD_MUTEX_RECURSIVE
. Mutexes are also created using default attributes by passing a NULL
attributes pointer to pthread_mutex_init().See the Posix pthread_mutexattr_settype() specification for more detail.
void( * sw_pthread_api_20071026::set_thread_name) (const char *name) |
Set a thread name for debugging.
[in] | name | The name to use for the current thread. This may be changed during execution to reflect current usage of the thread. |