starpu_thread.h File Reference
`#include <starpu_config.h>`
`#include <starpu_util.h>`
`#include <pthread.h>`
`#include <xbt/synchro_core.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures

struct | starpu_pthread_barrier_t
struct | starpu_pthread_spinlock_t
struct | starpu_pthread_wait_t
struct | starpu_pthread_queue_t

## Macros

#define | starpu_pthread_setname(name)
#define | STARPU_PTHREAD_MUTEX_INITIALIZER
#define | STARPU_PTHREAD_COND_INITIALIZER
#define | STARPU_PTHREAD_BARRIER_SERIAL_THREAD

## Typedefs

typedef msg_process_t | starpu_pthread_t
typedef int | starpu_pthread_attr_t
typedef msg_host_t | starpu_sg_host_t
typedef xbt_mutex_t | starpu_pthread_mutex_t
typedef int | starpu_pthread_mutexattr_t
typedef int | starpu_pthread_key_t
typedef xbt_cond_t | starpu_pthread_cond_t
typedef int | starpu_pthread_condattr_t
typedef xbt_mutex_t | starpu_pthread_rwlock_t
typedef int | starpu_pthread_rwlockattr_t
typedef int | starpu_pthread_barrierattr_t
typedef msg_sem_t | starpu_sem_t

## Functions

int | starpu_pthread_equal (starpu_pthread_t t1, starpu_pthread_t t2)
starpu_pthread_t | starpu_pthread_self (void)
int | starpu_pthread_create_on (const char *name, starpu_pthread_t *thread, const starpu_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg, starpu_sg_host_t host)
int | starpu_pthread_create (starpu_pthread_t *thread, const starpu_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
starpu_pthread_t | _starpu_simgrid_actor_create (const char *name, xbt_main_func_t code, starpu_sg_host_t host, int argc, char *argv[])
int | starpu_pthread_join (starpu_pthread_t thread, void **retval)
int | starpu_pthread_exit (void *retval) STARPU_ATTRIBUTE_NORETURN
int | starpu_pthread_attr_init (starpu_pthread_attr_t *attr)
int | starpu_pthread_attr_destroy (starpu_pthread_attr_t *attr)
int | starpu_pthread_attr_setdetachstate (starpu_pthread_attr_t *attr, int detachstate)
int | starpu_pthread_mutex_init (starpu_pthread_mutex_t *mutex, const starpu_pthread_mutexattr_t *mutexattr)
int | starpu_pthread_mutex_destroy (starpu_pthread_mutex_t *mutex)
int | starpu_pthread_mutex_lock (starpu_pthread_mutex_t *mutex)
int | starpu_pthread_mutex_unlock (starpu_pthread_mutex_t *mutex)
int | starpu_pthread_mutex_trylock (starpu_pthread_mutex_t *mutex)
int | starpu_pthread_mutexattr_gettype (const starpu_pthread_mutexattr_t *attr, int *type)
int | starpu_pthread_mutexattr_settype (starpu_pthread_mutexattr_t *attr, int type)
int | starpu_pthread_mutexattr_destroy (starpu_pthread_mutexattr_t *attr)
int | starpu_pthread_mutexattr_init (starpu_pthread_mutexattr_t *attr)
int | starpu_pthread_mutex_lock_sched (starpu_pthread_mutex_t *mutex)
int | starpu_pthread_mutex_unlock_sched (starpu_pthread_mutex_t *mutex)
int | starpu_pthread_mutex_trylock_sched (starpu_pthread_mutex_t *mutex)
void | starpu_pthread_mutex_check_sched (starpu_pthread_mutex_t *mutex, char *file, int line)
int | starpu_pthread_key_create (starpu_pthread_key_t *key, void(*destr_function)(void *))
int | starpu_pthread_key_delete (starpu_pthread_key_t key)
int | starpu_pthread_setspecific (starpu_pthread_key_t key, const void *pointer)
void * | starpu_pthread_getspecific (starpu_pthread_key_t key)
int | starpu_pthread_cond_init (starpu_pthread_cond_t *cond, starpu_pthread_condattr_t *cond_attr)
int | starpu_pthread_cond_signal (starpu_pthread_cond_t *cond)
int | starpu_pthread_cond_broadcast (starpu_pthread_cond_t *cond)
int | starpu_pthread_cond_wait (starpu_pthread_cond_t *cond, starpu_pthread_mutex_t *mutex)
int | starpu_pthread_cond_timedwait (starpu_pthread_cond_t *cond, starpu_pthread_mutex_t *mutex, const struct timespec *abstime)
int | starpu_pthread_cond_destroy (starpu_pthread_cond_t *cond)
int | starpu_pthread_rwlock_init (starpu_pthread_rwlock_t *rwlock, const starpu_pthread_rwlockattr_t *attr)
int | starpu_pthread_rwlock_destroy (starpu_pthread_rwlock_t *rwlock)
int | starpu_pthread_rwlock_rdlock (starpu_pthread_rwlock_t *rwlock)
int | starpu_pthread_rwlock_tryrdlock (starpu_pthread_rwlock_t *rwlock)
int | starpu_pthread_rwlock_wrlock (starpu_pthread_rwlock_t *rwlock)
int | starpu_pthread_rwlock_trywrlock (starpu_pthread_rwlock_t *rwlock)
int | starpu_pthread_rwlock_unlock (starpu_pthread_rwlock_t *rwlock)
int | starpu_pthread_barrier_init (starpu_pthread_barrier_t *barrier, const starpu_pthread_barrierattr_t *attr, unsigned count)
int | starpu_pthread_barrier_destroy (starpu_pthread_barrier_t *barrier)
int | starpu_pthread_barrier_wait (starpu_pthread_barrier_t *barrier)
int | starpu_pthread_spin_init (starpu_pthread_spinlock_t *lock, int pshared)
int | starpu_pthread_spin_destroy (starpu_pthread_spinlock_t *lock)
int | starpu_pthread_spin_lock (starpu_pthread_spinlock_t *lock)
int | starpu_pthread_spin_trylock (starpu_pthread_spinlock_t *lock)
int | starpu_pthread_spin_unlock (starpu_pthread_spinlock_t *lock)
int | starpu_pthread_queue_init (starpu_pthread_queue_t *q)
int | starpu_pthread_queue_signal (starpu_pthread_queue_t *q)
int | starpu_pthread_queue_broadcast (starpu_pthread_queue_t *q)
int | starpu_pthread_queue_destroy (starpu_pthread_queue_t *q)
int | starpu_pthread_wait_init (starpu_pthread_wait_t *w)
int | starpu_pthread_queue_register (starpu_pthread_wait_t *w, starpu_pthread_queue_t *q)
int | starpu_pthread_queue_unregister (starpu_pthread_wait_t *w, starpu_pthread_queue_t *q)
int | starpu_pthread_wait_reset (starpu_pthread_wait_t *w)
int | starpu_pthread_wait_wait (starpu_pthread_wait_t *w)
int | starpu_pthread_wait_timedwait (starpu_pthread_wait_t *w, const struct timespec *abstime)
int | starpu_pthread_wait_destroy (starpu_pthread_wait_t *w)
int | starpu_sem_destroy (starpu_sem_t *)
int | starpu_sem_getvalue (starpu_sem_t *, int *)
int | starpu_sem_init (starpu_sem_t *, int, unsigned)
int | starpu_sem_post (starpu_sem_t *)
int | starpu_sem_trywait (starpu_sem_t *)
int | starpu_sem_wait (starpu_sem_t *)

## Data Structure Documentation

## starpu_pthread_barrier_t

struct starpu_pthread_barrier_t

Data Fields
starpu_pthread_mutex_t | mutex |
starpu_pthread_cond_t | cond |
starpu_pthread_cond_t | cond_destroy |
unsigned | count |
unsigned | done |
unsigned | busy |

## starpu_pthread_spinlock_t

struct starpu_pthread_spinlock_t

Data Fields
int | taken |

## starpu_pthread_wait_t

struct starpu_pthread_wait_t

Data Fields
starpu_pthread_mutex_t | mutex |
starpu_pthread_cond_t | cond |
unsigned | block |

## starpu_pthread_queue_t

struct starpu_pthread_queue_t

Data Fields
starpu_pthread_mutex_t | mutex |
starpu_pthread_wait_t ** | queue |
unsigned | allocqueue |
unsigned | nqueue |