Synchronization services implementation

Updated: October 28, 2024

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
  翻译: