The following table lists the various microkernel calls and
the higher-level POSIX calls constructed from them:
Microkernel call |
POSIX call |
Description |
SyncTypeCreate() |
pthread_mutex_init(),
pthread_cond_init(),
sem_init()
|
Create object for mutex, condvars, and semaphore |
SyncDestroy() |
pthread_mutex_destroy(),
pthread_cond_destroy(),
sem_destroy()
|
Destroy synchronization object |
SyncCondvarWait() |
pthread_cond_wait(),
pthread_cond_timedwait()
|
Block on a condvar |
SyncCondvarSignal() |
pthread_cond_broadcast(),
pthread_cond_signal()
|
Wake up condvar-blocked threads |
SyncMutexLock() |
pthread_mutex_lock(),
pthread_mutex_trylock()
|
Lock a mutex |
SyncMutexUnlock() |
pthread_mutex_unlock() |
Unlock a mutex |
SyncSemPost() |
sem_post() |
Post a semaphore |
SyncSemWait() |
sem_wait(),
sem_trywait()
|
Wait on a semaphore |