ChorusOS 5.0 Features and Architecture Overview

POSIX threads API

The POSIX threads API is summarized in the following table:

Function 

Description 

pthread_attr_init()

Initialize a thread attribute object 

pthread_attr_destroy()

Destroy a thread attribute object 

pthread_attr_setstacksize()

Set the stacksize attribute

pthread_attr_getstacksize()

Get the stacksize attribute

pthread_attr_setstackaddr()

Set the stackaddr attribute

pthread_attr_getstackaddr()

Get the stackaddr attribute

pthread_attr_setdetachstate()

Set the detachstate attribute

pthread_attr_getdetachstate()

Get the detachstate attribute

pthread_attr_setscope()

Set the contention scope attribute 

pthread_attr_getscope()

Get the contention scope attribute 

pthread_attr_setinheritsched()

Set the scheduling inheritance attribute 

pthread_attr_getinheritsched()

Get the scheduling inheritance attribute 

pthread_attr_setschedpolicy()

Set the scheduling policy attribute 

pthread_attr_getschedpolicy()

Get the scheduling policy attribute 

pthread_attr_setschedparam()

Set the scheduling parameter attribute 

pthread_attr_getschedparam()

Get the scheduling parameter attribute 

pthread_cancel()

Cancel execution of a thread 

pthread_cleanup_pop()

Pop a thread cancellation clean-up handler 

pthread_cleanup_push()

Push a thread cancellation clean-up handler 

pthread_cond_init()

Initialize a condition variable 

pthread_cond_destroy()

Destroy a condition variable 

pthread_cond_signal()

Signal a condition variable 

pthread_cond_broadcast()

Broadcast a condition variable 

pthread_cond_wait()

Wait on a condition variable 

pthread_cond_timedwait()

Wait with timeout on a condition variable 

pthread_condattr_init()

Initialize a condition variable attribute object 

pthread_condattr_destroy()

Destroy a condition variable attribute object 

pthread_create()

Create a thread 

pthread_equal()

Compare thread identifiers 

pthread_exit()

Terminate the calling thread 

pthread_join()

Wait for thread termination 

pthread_key_create()

Create a thread-specific data key 

pthread_key_delete()

Delete a thread-specific data key 

pthread_kill()

Send a signal to a thread 

pthread_mutex_init()

Initialize a mutex 

pthread_mutex_destroy()

Delete a mutex 

pthread_mutex_lock()

Lock a mutex 

pthread_mutex_trylock()

Attempt to lock a mutex without waiting 

pthread_mutex_unlock()

Unlock a mutex 

pthread_mutexattr_init()

Initialize a mutex attribute object 

pthread_mutexattr_destroy()

Destroy a mutex attribute object 

pthread_once()

Initialize a library dynamically 

pthread_self()

Get the identifier of the calling thread 

pthread_setcancelstate()

Enable or disable cancellation 

pthread_setschedparam()

Set the current scheduling policy and parameters of a thread 

pthread_getschedparam()

Get the current scheduling policy and parameters of a thread 

pthread_setspecific()

Associate a thread-specific value with a key 

pthread_testcancel()

Create cancellation point in the caller 

pthread_getspecific()

Retrieve the thread-specific value associated with a key 

pthread_yield, sched_yield()

Yield the processor to another thread 

sched_get_priority_max()

Get maximum priority for policy 

sched_get_priority_min()

Get minimum priority for policy 

sched_rr_get_interval()

Get time quantum for SCHED_RR policy

sysconf()

Get configurable system variables