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 |