threads Reference
File
lib/c11/include/c11/threads.h
Date
Wednesday, June 25, 2014
Includes
- <time.h>
- <system/types/cnd_t.h>
- <system/types/thrd_t.h>
- <system/types/tss_t.h>
- <system/types/mtx_t.h>
- <system/types/tss_dtor_t.h>
- <system/types/thrd_start_t.h>
- <system/types/once_flag.h>
Tasks
call_once
void call_once(
once_flag *flag,
void ( * func )(
void ) );
cnd_broadcast
int cnd_broadcast(
cnd_t *cond );
cnd_destroy
void cnd_destroy(
cnd_t *cond );
cnd_init
int cnd_init(
cnd_t *cond );
cnd_signal
int cnd_signal(
cnd_t *cond );
cnd_timedwait
int cnd_timedwait(
cnd_t *restrict cond,
mtx_t *restrict mtx,
const struct timespec *restrict ts );
cnd_wait
int cnd_wait(
cnd_t *cond,
mtx_t *mtx );
mtx_destroy
void mtx_destroy(
mtx_t *mtx );
mtx_init
int mtx_init(
mtx_t *mtx,
int type );
mtx_lock
int mtx_lock(
mtx_t *mtx );
mtx_timedlock
int mtx_timedlock(
mtx_t *restrict mtx,
const struct timespec *restrict ts );
mtx_trylock
int mtx_trylock(
mtx_t *mtx );
mtx_unlock
int mtx_unlock(
mtx_t *mtx );
thrd_create
int thrd_create(
thrd_t *thr,
thrd_start_t func,
void *arg );
thrd_current
thrd_t thrd_current(
void );
thrd_detach
int thrd_detach(
thrd_t thr );
thrd_equal
int thrd_equal(
thrd_t thr0,
thrd_t thr1 );
thrd_exit
_Noreturn void thrd_exit(
int res );
thrd_join
int thrd_join(
thrd_t thr,
int *res );
thrd_sleep
int thrd_sleep(
const struct timespec *duration,
struct timespec *remaining );
thrd_yield
void thrd_yield(
void );
tss_create
int tss_create(
tss_t *key,
tss_dtor_t dtor );
tss_delete
void tss_delete(
tss_t key );
tss_get
void * tss_get(
tss_t key );
tss_set
int tss_set(
tss_t key,
void *val );
Macros
__XEOS_LIB_C11_THREADS_H__
#define __XEOS_LIB_C11_THREADS_H__
thread_local
#define thread_local _Thread_local
TSS_DTOR_ITERATIONS
#define TSS_DTOR_ITERATIONS 1