Zephyr API Documentation 4.0.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pthread.h File Reference
#include <stdlib.h>
#include <string.h>
#include <zephyr/kernel.h>
#include <zephyr/posix/time.h>
#include <zephyr/posix/unistd.h>
#include <zephyr/posix/sched.h>

Go to the source code of this file.

Macros

#define PTHREAD_CREATE_DETACHED   1
 
#define PTHREAD_CREATE_JOINABLE   0
 
#define PTHREAD_PROCESS_PRIVATE   0
 
#define PTHREAD_PROCESS_SHARED   1
 
#define PTHREAD_CANCELED   ((void *)-1)
 
#define PTHREAD_CANCEL_ENABLE   0
 
#define PTHREAD_CANCEL_DISABLE   1
 
#define PTHREAD_CANCEL_DEFERRED   0
 
#define PTHREAD_CANCEL_ASYNCHRONOUS   1
 
#define PTHREAD_SCOPE_PROCESS   1
 
#define PTHREAD_SCOPE_SYSTEM   0
 
#define PTHREAD_INHERIT_SCHED   0
 
#define PTHREAD_EXPLICIT_SCHED   1
 
#define PTHREAD_ONCE_INIT   {0}
 
#define PTHREAD_STACK_MIN   K_KERNEL_STACK_LEN(0)
 
#define PTHREAD_COND_INITIALIZER   (-1)
 Declare a condition variable as initialized.
 
#define PTHREAD_MUTEX_INITIALIZER   (-1)
 Declare a mutex as initialized.
 
#define PTHREAD_RWLOCK_INITIALIZER   (-1)
 Declare a rwlock as initialized.
 
#define PTHREAD_MUTEX_NORMAL   0
 
#define PTHREAD_MUTEX_RECURSIVE   1
 
#define PTHREAD_MUTEX_ERRORCHECK   2
 
#define PTHREAD_MUTEX_DEFAULT   PTHREAD_MUTEX_NORMAL
 
#define PTHREAD_PRIO_NONE   0
 
#define PTHREAD_PRIO_INHERIT   1
 
#define PTHREAD_PRIO_PROTECT   2
 
#define PTHREAD_BARRIER_SERIAL_THREAD   1
 
#define PTHREAD_PROCESS_PRIVATE   0
 
#define PTHREAD_PROCESS_PUBLIC   1
 
#define pthread_cleanup_push(_rtn, _arg)
 
#define pthread_cleanup_pop(_ex)
 

Functions

int pthread_cond_init (pthread_cond_t *cv, const pthread_condattr_t *att)
 POSIX threading compatibility API.
 
int pthread_cond_destroy (pthread_cond_t *cv)
 POSIX threading compatibility API.
 
int pthread_cond_signal (pthread_cond_t *cv)
 POSIX threading compatibility API.
 
int pthread_cond_broadcast (pthread_cond_t *cv)
 POSIX threading compatibility API.
 
int pthread_cond_wait (pthread_cond_t *cv, pthread_mutex_t *mut)
 POSIX threading compatibility API.
 
int pthread_cond_timedwait (pthread_cond_t *cv, pthread_mutex_t *mut, const struct timespec *abstime)
 POSIX threading compatibility API.
 
int pthread_condattr_init (pthread_condattr_t *att)
 POSIX threading compatibility API.
 
int pthread_condattr_destroy (pthread_condattr_t *att)
 POSIX threading compatibility API.
 
int pthread_condattr_getclock (const pthread_condattr_t *ZRESTRICT att, clockid_t *ZRESTRICT clock_id)
 POSIX threading compatibility API.
 
int pthread_condattr_setclock (pthread_condattr_t *att, clockid_t clock_id)
 POSIX threading compatibility API.
 
int pthread_mutex_destroy (pthread_mutex_t *m)
 POSIX threading compatibility API.
 
int pthread_mutex_lock (pthread_mutex_t *m)
 POSIX threading compatibility API.
 
int pthread_mutex_unlock (pthread_mutex_t *m)
 POSIX threading compatibility API.
 
int pthread_mutex_timedlock (pthread_mutex_t *m, const struct timespec *abstime)
 POSIX threading compatibility API.
 
int pthread_mutex_trylock (pthread_mutex_t *m)
 POSIX threading compatibility API.
 
int pthread_mutex_init (pthread_mutex_t *m, const pthread_mutexattr_t *att)
 POSIX threading compatibility API.
 
int pthread_mutexattr_setprotocol (pthread_mutexattr_t *attr, int protocol)
 POSIX threading compatibility API.
 
int pthread_mutexattr_settype (pthread_mutexattr_t *attr, int type)
 POSIX threading compatibility API.
 
int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *attr, int *protocol)
 POSIX threading compatibility API.
 
int pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int *type)
 POSIX threading compatibility API.
 
int pthread_mutexattr_init (pthread_mutexattr_t *attr)
 POSIX threading compatibility API.
 
int pthread_mutexattr_destroy (pthread_mutexattr_t *attr)
 POSIX threading compatibility API.
 
int pthread_barrier_wait (pthread_barrier_t *b)
 POSIX threading compatibility API.
 
int pthread_barrier_init (pthread_barrier_t *b, const pthread_barrierattr_t *attr, unsigned int count)
 POSIX threading compatibility API.
 
int pthread_barrier_destroy (pthread_barrier_t *b)
 POSIX threading compatibility API.
 
int pthread_barrierattr_init (pthread_barrierattr_t *b)
 POSIX threading compatibility API.
 
int pthread_barrierattr_destroy (pthread_barrierattr_t *b)
 POSIX threading compatibility API.
 
int pthread_barrierattr_setpshared (pthread_barrierattr_t *attr, int pshared)
 POSIX threading compatibility API.
 
int pthread_barrierattr_getpshared (const pthread_barrierattr_t *ZRESTRICT attr, int *ZRESTRICT pshared)
 POSIX threading compatibility API.
 
pthread_t pthread_self (void)
 Obtain ID of the calling thread.
 
int pthread_equal (pthread_t pt1, pthread_t pt2)
 Compare thread IDs.
 
int pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
 Destroy the read-write lock attributes object.
 
int pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
 initialize the read-write lock attributes object.
 
int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *ZRESTRICT attr, int *ZRESTRICT pshared)
 
int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared)
 
int pthread_attr_getguardsize (const pthread_attr_t *ZRESTRICT attr, size_t *ZRESTRICT guardsize)
 
int pthread_attr_getstacksize (const pthread_attr_t *attr, size_t *stacksize)
 
int pthread_attr_setguardsize (pthread_attr_t *attr, size_t guardsize)
 
int pthread_attr_setstacksize (pthread_attr_t *attr, size_t stacksize)
 
int pthread_attr_setschedpolicy (pthread_attr_t *attr, int policy)
 
int pthread_attr_getschedpolicy (const pthread_attr_t *attr, int *policy)
 
int pthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate)
 
int pthread_attr_getdetachstate (const pthread_attr_t *attr, int *detachstate)
 
int pthread_attr_init (pthread_attr_t *attr)
 
int pthread_attr_destroy (pthread_attr_t *attr)
 
int pthread_attr_getschedparam (const pthread_attr_t *attr, struct sched_param *schedparam)
 
int pthread_getschedparam (pthread_t pthread, int *policy, struct sched_param *param)
 
int pthread_attr_getstack (const pthread_attr_t *attr, void **stackaddr, size_t *stacksize)
 
int pthread_attr_setstack (pthread_attr_t *attr, void *stackaddr, size_t stacksize)
 
int pthread_attr_getscope (const pthread_attr_t *attr, int *contentionscope)
 
int pthread_attr_setscope (pthread_attr_t *attr, int contentionscope)
 
int pthread_attr_getinheritsched (const pthread_attr_t *attr, int *inheritsched)
 
int pthread_attr_setinheritsched (pthread_attr_t *attr, int inheritsched)
 
FUNC_NORETURN void pthread_exit (void *retval)
 
int pthread_timedjoin_np (pthread_t thread, void **status, const struct timespec *abstime)
 
int pthread_tryjoin_np (pthread_t thread, void **status)
 
int pthread_join (pthread_t thread, void **status)
 
int pthread_cancel (pthread_t pthread)
 
int pthread_detach (pthread_t thread)
 
int pthread_create (pthread_t *newthread, const pthread_attr_t *attr, void *(*threadroutine)(void *), void *arg)
 
int pthread_setcancelstate (int state, int *oldstate)
 
int pthread_setcanceltype (int type, int *oldtype)
 
void pthread_testcancel (void)
 
int pthread_attr_setschedparam (pthread_attr_t *attr, const struct sched_param *schedparam)
 
int pthread_setschedparam (pthread_t pthread, int policy, const struct sched_param *param)
 
int pthread_setschedprio (pthread_t thread, int prio)
 
int pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
 
int pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr)
 
int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
 
int pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock, const struct timespec *abstime)
 
int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, const struct timespec *abstime)
 
int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
 
int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
 
int pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
 
int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
 
int pthread_key_create (pthread_key_t *key, void(*destructor)(void *))
 
int pthread_key_delete (pthread_key_t key)
 
int pthread_setspecific (pthread_key_t key, const void *value)
 
void * pthread_getspecific (pthread_key_t key)
 
int pthread_atfork (void(*prepare)(void), void(*parent)(void), void(*child)(void))
 
int pthread_getconcurrency (void)
 
int pthread_setconcurrency (int new_level)
 
int pthread_setname_np (pthread_t thread, const char *name)
 Set name of POSIX thread.
 
int pthread_getname_np (pthread_t thread, char *name, size_t len)
 Get name of POSIX thread and store in name buffer that is of size len.
 

Macro Definition Documentation

◆ PTHREAD_BARRIER_SERIAL_THREAD

#define PTHREAD_BARRIER_SERIAL_THREAD   1

◆ PTHREAD_CANCEL_ASYNCHRONOUS

#define PTHREAD_CANCEL_ASYNCHRONOUS   1

◆ PTHREAD_CANCEL_DEFERRED

#define PTHREAD_CANCEL_DEFERRED   0

◆ PTHREAD_CANCEL_DISABLE

#define PTHREAD_CANCEL_DISABLE   1

◆ PTHREAD_CANCEL_ENABLE

#define PTHREAD_CANCEL_ENABLE   0

◆ PTHREAD_CANCELED

#define PTHREAD_CANCELED   ((void *)-1)

◆ pthread_cleanup_pop

#define pthread_cleanup_pop ( _ex)
Value:
__z_pthread_cleanup_pop(_ex); \
} /* enforce '}'-like behaviour */ while (0)

◆ pthread_cleanup_push

#define pthread_cleanup_push ( _rtn,
_arg )
Value:
do /* enforce '{'-like behaviour */ { \
void *_z_pthread_cleanup[3]; \
__z_pthread_cleanup_push(_z_pthread_cleanup, _rtn, _arg)

◆ PTHREAD_COND_INITIALIZER

#define PTHREAD_COND_INITIALIZER   (-1)

Declare a condition variable as initialized.

Initialize a condition variable with the default condition variable attributes.

◆ PTHREAD_CREATE_DETACHED

#define PTHREAD_CREATE_DETACHED   1

◆ PTHREAD_CREATE_JOINABLE

#define PTHREAD_CREATE_JOINABLE   0

◆ PTHREAD_EXPLICIT_SCHED

#define PTHREAD_EXPLICIT_SCHED   1

◆ PTHREAD_INHERIT_SCHED

#define PTHREAD_INHERIT_SCHED   0

◆ PTHREAD_MUTEX_DEFAULT

#define PTHREAD_MUTEX_DEFAULT   PTHREAD_MUTEX_NORMAL

◆ PTHREAD_MUTEX_ERRORCHECK

#define PTHREAD_MUTEX_ERRORCHECK   2

◆ PTHREAD_MUTEX_INITIALIZER

#define PTHREAD_MUTEX_INITIALIZER   (-1)

Declare a mutex as initialized.

Initialize a mutex with the default mutex attributes.

◆ PTHREAD_MUTEX_NORMAL

#define PTHREAD_MUTEX_NORMAL   0

◆ PTHREAD_MUTEX_RECURSIVE

#define PTHREAD_MUTEX_RECURSIVE   1

◆ PTHREAD_ONCE_INIT

#define PTHREAD_ONCE_INIT   {0}

◆ PTHREAD_PRIO_INHERIT

#define PTHREAD_PRIO_INHERIT   1

◆ PTHREAD_PRIO_NONE

#define PTHREAD_PRIO_NONE   0

◆ PTHREAD_PRIO_PROTECT

#define PTHREAD_PRIO_PROTECT   2

◆ PTHREAD_PROCESS_PRIVATE [1/2]

#define PTHREAD_PROCESS_PRIVATE   0

◆ PTHREAD_PROCESS_PRIVATE [2/2]

#define PTHREAD_PROCESS_PRIVATE   0

◆ PTHREAD_PROCESS_PUBLIC

#define PTHREAD_PROCESS_PUBLIC   1

◆ PTHREAD_PROCESS_SHARED

#define PTHREAD_PROCESS_SHARED   1

◆ PTHREAD_RWLOCK_INITIALIZER

#define PTHREAD_RWLOCK_INITIALIZER   (-1)

Declare a rwlock as initialized.

Initialize a rwlock with the default rwlock attributes.

◆ PTHREAD_SCOPE_PROCESS

#define PTHREAD_SCOPE_PROCESS   1

◆ PTHREAD_SCOPE_SYSTEM

#define PTHREAD_SCOPE_SYSTEM   0

◆ PTHREAD_STACK_MIN

#define PTHREAD_STACK_MIN   K_KERNEL_STACK_LEN(0)

Function Documentation

◆ pthread_atfork()

int pthread_atfork ( void(* prepare )(void),
void(* parent )(void),
void(* child )(void) )

◆ pthread_attr_destroy()

int pthread_attr_destroy ( pthread_attr_t * attr)

◆ pthread_attr_getdetachstate()

int pthread_attr_getdetachstate ( const pthread_attr_t * attr,
int * detachstate )

◆ pthread_attr_getguardsize()

int pthread_attr_getguardsize ( const pthread_attr_t *ZRESTRICT attr,
size_t *ZRESTRICT guardsize )

◆ pthread_attr_getinheritsched()

int pthread_attr_getinheritsched ( const pthread_attr_t * attr,
int * inheritsched )

◆ pthread_attr_getschedparam()

int pthread_attr_getschedparam ( const pthread_attr_t * attr,
struct sched_param * schedparam )

◆ pthread_attr_getschedpolicy()

int pthread_attr_getschedpolicy ( const pthread_attr_t * attr,
int * policy )

◆ pthread_attr_getscope()

int pthread_attr_getscope ( const pthread_attr_t * attr,
int * contentionscope )

◆ pthread_attr_getstack()

int pthread_attr_getstack ( const pthread_attr_t * attr,
void ** stackaddr,
size_t * stacksize )

◆ pthread_attr_getstacksize()

int pthread_attr_getstacksize ( const pthread_attr_t * attr,
size_t * stacksize )

◆ pthread_attr_init()

int pthread_attr_init ( pthread_attr_t * attr)

◆ pthread_attr_setdetachstate()

int pthread_attr_setdetachstate ( pthread_attr_t * attr,
int detachstate )

◆ pthread_attr_setguardsize()

int pthread_attr_setguardsize ( pthread_attr_t * attr,
size_t guardsize )

◆ pthread_attr_setinheritsched()

int pthread_attr_setinheritsched ( pthread_attr_t * attr,
int inheritsched )

◆ pthread_attr_setschedparam()

int pthread_attr_setschedparam ( pthread_attr_t * attr,
const struct sched_param * schedparam )

◆ pthread_attr_setschedpolicy()

int pthread_attr_setschedpolicy ( pthread_attr_t * attr,
int policy )

◆ pthread_attr_setscope()

int pthread_attr_setscope ( pthread_attr_t * attr,
int contentionscope )

◆ pthread_attr_setstack()

int pthread_attr_setstack ( pthread_attr_t * attr,
void * stackaddr,
size_t stacksize )

◆ pthread_attr_setstacksize()

int pthread_attr_setstacksize ( pthread_attr_t * attr,
size_t stacksize )

◆ pthread_barrier_destroy()

int pthread_barrier_destroy ( pthread_barrier_t * b)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_barrier_init()

int pthread_barrier_init ( pthread_barrier_t * b,
const pthread_barrierattr_t * attr,
unsigned int count )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_barrier_wait()

int pthread_barrier_wait ( pthread_barrier_t * b)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_barrierattr_destroy()

int pthread_barrierattr_destroy ( pthread_barrierattr_t * b)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_barrierattr_getpshared()

int pthread_barrierattr_getpshared ( const pthread_barrierattr_t *ZRESTRICT attr,
int *ZRESTRICT pshared )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_barrierattr_init()

int pthread_barrierattr_init ( pthread_barrierattr_t * b)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_barrierattr_setpshared()

int pthread_barrierattr_setpshared ( pthread_barrierattr_t * attr,
int pshared )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_cancel()

int pthread_cancel ( pthread_t pthread)

◆ pthread_cond_broadcast()

int pthread_cond_broadcast ( pthread_cond_t * cv)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_cond_destroy()

int pthread_cond_destroy ( pthread_cond_t * cv)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_cond_init()

int pthread_cond_init ( pthread_cond_t * cv,
const pthread_condattr_t * att )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_cond_signal()

int pthread_cond_signal ( pthread_cond_t * cv)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_cond_timedwait()

int pthread_cond_timedwait ( pthread_cond_t * cv,
pthread_mutex_t * mut,
const struct timespec * abstime )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_cond_wait()

int pthread_cond_wait ( pthread_cond_t * cv,
pthread_mutex_t * mut )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_condattr_destroy()

int pthread_condattr_destroy ( pthread_condattr_t * att)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_condattr_getclock()

int pthread_condattr_getclock ( const pthread_condattr_t *ZRESTRICT att,
clockid_t *ZRESTRICT clock_id )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_condattr_init()

int pthread_condattr_init ( pthread_condattr_t * att)

POSIX threading compatibility API.

See IEEE 1003.1.

◆ pthread_condattr_setclock()

int pthread_condattr_setclock ( pthread_condattr_t * att,
clockid_t clock_id )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_create()

int pthread_create ( pthread_t * newthread,
const pthread_attr_t * attr,
void *(* threadroutine )(void *),
void * arg )

◆ pthread_detach()

int pthread_detach ( pthread_t thread)

◆ pthread_equal()

int pthread_equal ( pthread_t pt1,
pthread_t pt2 )

Compare thread IDs.

See IEEE 1003.1

◆ pthread_exit()

FUNC_NORETURN void pthread_exit ( void * retval)

◆ pthread_getconcurrency()

int pthread_getconcurrency ( void )

◆ pthread_getname_np()

int pthread_getname_np ( pthread_t thread,
char * name,
size_t len )

Get name of POSIX thread and store in name buffer that is of size len.

Non-portable, extension function that conforms with most other definitions of this function.

Parameters
threadPOSIX thread to obtain name information
nameDestination buffer
lenDestination buffer size
Return values
0Success
ESRCHThread does not exist
EINVALName buffer is NULL
Negativevalue if kernel function error

◆ pthread_getschedparam()

int pthread_getschedparam ( pthread_t pthread,
int * policy,
struct sched_param * param )

◆ pthread_getspecific()

void * pthread_getspecific ( pthread_key_t key)

◆ pthread_join()

int pthread_join ( pthread_t thread,
void ** status )

◆ pthread_key_create()

int pthread_key_create ( pthread_key_t * key,
void(* destructor )(void *) )

◆ pthread_key_delete()

int pthread_key_delete ( pthread_key_t key)

◆ pthread_mutex_destroy()

int pthread_mutex_destroy ( pthread_mutex_t * m)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutex_init()

int pthread_mutex_init ( pthread_mutex_t * m,
const pthread_mutexattr_t * att )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutex_lock()

int pthread_mutex_lock ( pthread_mutex_t * m)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutex_timedlock()

int pthread_mutex_timedlock ( pthread_mutex_t * m,
const struct timespec * abstime )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutex_trylock()

int pthread_mutex_trylock ( pthread_mutex_t * m)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutex_unlock()

int pthread_mutex_unlock ( pthread_mutex_t * m)

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutexattr_destroy()

int pthread_mutexattr_destroy ( pthread_mutexattr_t * attr)

POSIX threading compatibility API.

See IEEE 1003.1

Note that pthread attribute structs are currently noops in Zephyr.

◆ pthread_mutexattr_getprotocol()

int pthread_mutexattr_getprotocol ( const pthread_mutexattr_t * attr,
int * protocol )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutexattr_gettype()

int pthread_mutexattr_gettype ( const pthread_mutexattr_t * attr,
int * type )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutexattr_init()

int pthread_mutexattr_init ( pthread_mutexattr_t * attr)

POSIX threading compatibility API.

See IEEE 1003.1

Note that pthread attribute structs are currently noops in Zephyr.

◆ pthread_mutexattr_setprotocol()

int pthread_mutexattr_setprotocol ( pthread_mutexattr_t * attr,
int protocol )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_mutexattr_settype()

int pthread_mutexattr_settype ( pthread_mutexattr_t * attr,
int type )

POSIX threading compatibility API.

See IEEE 1003.1

◆ pthread_rwlock_destroy()

int pthread_rwlock_destroy ( pthread_rwlock_t * rwlock)

◆ pthread_rwlock_init()

int pthread_rwlock_init ( pthread_rwlock_t * rwlock,
const pthread_rwlockattr_t * attr )

◆ pthread_rwlock_rdlock()

int pthread_rwlock_rdlock ( pthread_rwlock_t * rwlock)

◆ pthread_rwlock_timedrdlock()

int pthread_rwlock_timedrdlock ( pthread_rwlock_t * rwlock,
const struct timespec * abstime )

◆ pthread_rwlock_timedwrlock()

int pthread_rwlock_timedwrlock ( pthread_rwlock_t * rwlock,
const struct timespec * abstime )

◆ pthread_rwlock_tryrdlock()

int pthread_rwlock_tryrdlock ( pthread_rwlock_t * rwlock)

◆ pthread_rwlock_trywrlock()

int pthread_rwlock_trywrlock ( pthread_rwlock_t * rwlock)

◆ pthread_rwlock_unlock()

int pthread_rwlock_unlock ( pthread_rwlock_t * rwlock)

◆ pthread_rwlock_wrlock()

int pthread_rwlock_wrlock ( pthread_rwlock_t * rwlock)

◆ pthread_rwlockattr_destroy()

int pthread_rwlockattr_destroy ( pthread_rwlockattr_t * attr)

Destroy the read-write lock attributes object.

See IEEE 1003.1

◆ pthread_rwlockattr_getpshared()

int pthread_rwlockattr_getpshared ( const pthread_rwlockattr_t *ZRESTRICT attr,
int *ZRESTRICT pshared )

◆ pthread_rwlockattr_init()

int pthread_rwlockattr_init ( pthread_rwlockattr_t * attr)

initialize the read-write lock attributes object.

See IEEE 1003.1

◆ pthread_rwlockattr_setpshared()

int pthread_rwlockattr_setpshared ( pthread_rwlockattr_t * attr,
int pshared )

◆ pthread_self()

pthread_t pthread_self ( void )

Obtain ID of the calling thread.

The results of calling this API from threads not created with pthread_create() are undefined.

See IEEE 1003.1

◆ pthread_setcancelstate()

int pthread_setcancelstate ( int state,
int * oldstate )

◆ pthread_setcanceltype()

int pthread_setcanceltype ( int type,
int * oldtype )

◆ pthread_setconcurrency()

int pthread_setconcurrency ( int new_level)

◆ pthread_setname_np()

int pthread_setname_np ( pthread_t thread,
const char * name )

Set name of POSIX thread.

Non-portable, extension function that conforms with most other definitions of this function.

Parameters
threadPOSIX thread to set name
nameName string
Return values
0Success
ESRCHThread does not exist
EINVALName buffer is NULL
Negativevalue if kernel function error

◆ pthread_setschedparam()

int pthread_setschedparam ( pthread_t pthread,
int policy,
const struct sched_param * param )

◆ pthread_setschedprio()

int pthread_setschedprio ( pthread_t thread,
int prio )

◆ pthread_setspecific()

int pthread_setspecific ( pthread_key_t key,
const void * value )

◆ pthread_testcancel()

void pthread_testcancel ( void )

◆ pthread_timedjoin_np()

int pthread_timedjoin_np ( pthread_t thread,
void ** status,
const struct timespec * abstime )

◆ pthread_tryjoin_np()

int pthread_tryjoin_np ( pthread_t thread,
void ** status )