Unnamed semaphores.
Unnamed semaphores | Unnamed semaphores. |
Types | |
nacore_sem | Semaphore. |
Functions | |
nacore_sem_new() | Creates a new semaphore. |
nacore_sem_free() | Destroys a semaphore. |
nacore_sem_wait() | Locks a semaphore. |
nacore_sem_trywait() | Attempts to lock a semaphore. |
nacore_sem_post() | Unlocks a semaphore. |
_NACORE_DEF nacore_sem nacore_sem_new( unsigned int value )
Creates a new semaphore.
value | Initial value. |
The newly created semaphore or NULL if some error occured, in which case errno is set to ENOMEM if there was not enough memory, EINVAL if value is too big or NACORE_EUNKNOWN if another kind of error happened.
_NACORE_DEF int nacore_sem_trywait( nacore_sem sem )
Attempts to lock a semaphore.
If the semaphore is already locked the call shall return immediately.
sem | The semaphore to be locked. |
0 on success, EAGAIN if the semaphore was already locked or EINTR if the call was interrupted by a signal.
_NACORE_DEF int nacore_sem_post( nacore_sem sem )
Unlocks a semaphore.
sem | The semaphore to be unlocked. |
0 on success or NACORE_EUNKNOWN if some error happened.
Creates a new semaphore.
_NACORE_DEF nacore_sem nacore_sem_new( unsigned int value )
Destroys a semaphore.
_NACORE_DEF void nacore_sem_free( nacore_sem sem )
Locks a semaphore.
_NACORE_DEF int nacore_sem_wait( nacore_sem sem )
Attempts to lock a semaphore.
_NACORE_DEF int nacore_sem_trywait( nacore_sem sem )
Unlocks a semaphore.
_NACORE_DEF int nacore_sem_post( nacore_sem sem )