#include <pthread.h>
#include <unistd.h>
Go to the source code of this file.
Data Structures | |
struct | pthread_rdwrattr_t |
pthread_rdwr_t attribute structure More... | |
struct | pthread_rdwr_t |
pthread_rdwr_t structure More... | |
Defines | |
#define | PTHREAD_RDWR_PREFER_READER PTHREAD_RDWR_PREFER_READER |
reader preference enumeration | |
#define | PTHREAD_RDWR_PREFER_WRITER PTHREAD_RDWR_PREFER_WRITER |
writer preference enumeration | |
#define | PTHREAD_RDWR_PREFER_TOGGLE PTHREAD_RDWR_PREFER_TOGGLE |
toggle preference enumeration | |
#define | PTHREAD_RDWR_PREFER_DEFAULT PTHREAD_RDWR_PREFER_DEFAULT |
default preference enumeration | |
#define | PTHREAD_RDWR_NORMAL PTHREAD_RDWR_NORMAL |
normal type enumeration | |
#define | PTHREAD_RDWR_ERRORCHECK PTHREAD_RDWR_ERRORCHECK |
error checking type enumeration | |
#define | PTHREAD_RDWR_DEFAULT PTHREAD_RDWR_DEFAULT |
default type enumeration | |
#define | PTHREAD_RDWR_INITIALIZER |
static initializer for pthread_rdwr_t | |
Enumerations | |
enum | { PTHREAD_RDWR_PREFER_READER, PTHREAD_RDWR_PREFER_WRITER, PTHREAD_RDWR_PREFER_TOGGLE, PTHREAD_RDWR_PREFER_DEFAULT = PTHREAD_RDWR_PREFER_TOGGLE } |
enumeration for rdwr preference More... | |
enum | { PTHREAD_RDWR_NORMAL, PTHREAD_RDWR_ERRORCHECK, PTHREAD_RDWR_DEFAULT = PTHREAD_RDWR_NORMAL } |
enumeration for rdwr type More... | |
Functions | |
int | pthread_rdwr_init (pthread_rdwr_t *rdwr, const pthread_rdwrattr_t *attr) |
initialize pthread_rdwr_t structure | |
int | pthread_rdwr_destroy (pthread_rdwr_t *rdwr) |
initialize pthread_rdwr_t structure | |
int | pthread_rdwr_rdlock (pthread_rdwr_t *rdwr) |
to obtain a read lock | |
int | pthread_rdwr_timedrdlock (pthread_rdwr_t *rdwr, const struct timespec *timeout) |
to try to obtain a read lock for at least timeout duration | |
int | pthread_rdwr_tryrdlock (pthread_rdwr_t *rdwr) |
to obtain a read lock if no write lock | |
int | pthread_rdwr_wrlock (pthread_rdwr_t *rdwr) |
to obtain a write lock | |
int | pthread_rdwr_timedwrlock (pthread_rdwr_t *rdwr, const struct timespec *timeout) |
try to obtain a write lock for at least timeout duration | |
int | pthread_rdwr_trywrlock (pthread_rdwr_t *rdwr) |
try to obtain a write lock if no read lock or write lock | |
int | pthread_rdwr_unlock (pthread_rdwr_t *rdwr) |
unlock current thread | |
int | pthread_rdwrattr_init (pthread_rdwrattr_t *attr) |
initialize pthread_rdwr_t attribute structure | |
int | pthread_rdwrattr_destroy (pthread_rdwrattr_t *attr) |
destroy pthread_rdwr_t attribute structure | |
int | pthread_rdwrattr_getkind (const pthread_rdwrattr_t *attr, int *pref) |
assign kind the current kind attribute | |
int | pthread_rdwrattr_setkind (pthread_rdwrattr_t *attr, const int pref) |
assign current kind attribute | |
int | pthread_rdwrattr_gettype (const pthread_rdwrattr_t *attr, int *type) |
assign type the current type attribute | |
int | pthread_rdwrattr_settype (pthread_rdwrattr_t *attr, const int type) |
assign current type attribute |
A barrier causes the calling thread to wait until a set number of threads reach a point, then those threads may continue.
#define PTHREAD_RDWR_INITIALIZER |
Value:
{ PTHREAD_MUTEX_INITIALIZER, \ PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, \ 0, 0, 0, 0, 0, PTHREAD_RDWR_PREFER_DEFAULT, PTHREAD_RDWR_DEFAULT }
anonymous enum |
anonymous enum |
int pthread_rdwr_destroy | ( | pthread_rdwr_t * | rdwr | ) |
initialize pthread_rdwr_t structure
rdwr | pointer to pthread_rdwr_t structure |
int pthread_rdwr_init | ( | pthread_rdwr_t * | rdwr, | |
const pthread_rdwrattr_t * | attr | |||
) |
initialize pthread_rdwr_t structure
rdwr | pointer to pthread_rdwr_t structure | |
attr | pointer to pthread_rdwr_t attribute structure |
int pthread_rdwr_rdlock | ( | pthread_rdwr_t * | rdwr | ) |
to obtain a read lock
rdwr | pointer to pthread_rdwr_t structure |
int pthread_rdwr_timedrdlock | ( | pthread_rdwr_t * | rdwr, | |
const struct timespec * | timeout | |||
) |
to try to obtain a read lock for at least timeout duration
rdwr | pointer to pthread_rdwr_t structure | |
timeout | pointer to timespec structure |
int pthread_rdwr_timedwrlock | ( | pthread_rdwr_t * | rdwr, | |
const struct timespec * | timeout | |||
) |
try to obtain a write lock for at least timeout duration
rdwr | pointer to pthread_rdwr_t structure | |
timeout | pointer to timespec structure |
int pthread_rdwr_tryrdlock | ( | pthread_rdwr_t * | rdwr | ) |
to obtain a read lock if no write lock
rdwr | pointer to pthread_rdwr_t structure |
int pthread_rdwr_trywrlock | ( | pthread_rdwr_t * | rdwr | ) |
try to obtain a write lock if no read lock or write lock
rdwr | pointer to pthread_rdwr_t structure |
int pthread_rdwr_unlock | ( | pthread_rdwr_t * | rdwr | ) |
unlock current thread
rdwr | pointer to pthread_rdwr_t structure |
int pthread_rdwr_wrlock | ( | pthread_rdwr_t * | rdwr | ) |
to obtain a write lock
rdwr | pointer to pthread_rdwr_t structure |
int pthread_rdwrattr_destroy | ( | pthread_rdwrattr_t * | attr | ) |
destroy pthread_rdwr_t attribute structure
attr | pointer to pthread_rdwr_t attribute structure |
int pthread_rdwrattr_getkind | ( | const pthread_rdwrattr_t * | attr, | |
int * | pref | |||
) |
assign kind the current kind attribute
attr | pointer to pthread_rdwr_t attribute structure | |
pref | pointer to kind attribute |
int pthread_rdwrattr_gettype | ( | const pthread_rdwrattr_t * | attr, | |
int * | type | |||
) |
assign type the current type attribute
attr | pointer to pthread_rdwr_t attribute structure | |
type | pointer to type attribute |
int pthread_rdwrattr_init | ( | pthread_rdwrattr_t * | attr | ) |
initialize pthread_rdwr_t attribute structure
attr | pointer to pthread_rdwr_t attribute structure |
int pthread_rdwrattr_setkind | ( | pthread_rdwrattr_t * | attr, | |
const int | pref | |||
) |
assign current kind attribute
attr | pointer to pthread_rdwr_t attribute structure | |
pref | kind attribute |
int pthread_rdwrattr_settype | ( | pthread_rdwrattr_t * | attr, | |
const int | type | |||
) |
assign current type attribute
attr | pointer to pthread_rdwr_t attribute structure | |
type | type attribute |