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