Group PJ_SEM
- group PJ_SEM
This module provides abstraction for semaphores, where available.
Functions
-
pj_status_t pj_sem_create(pj_pool_t *pool, const char *name, unsigned initial, unsigned max, pj_sem_t **sem)
Create semaphore.
- Parameters:
pool – The pool.
name – Name to be assigned to the semaphore (for logging purpose)
initial – The initial count of the semaphore.
max – The maximum count of the semaphore.
sem – Pointer to hold the semaphore created.
- Returns:
PJ_SUCCESS on success, or the error code.
-
pj_status_t pj_sem_wait(pj_sem_t *sem)
Wait for semaphore.
- Parameters:
sem – The semaphore.
- Returns:
PJ_SUCCESS on success, or the error code.
-
pj_status_t pj_sem_trywait(pj_sem_t *sem)
Try wait for semaphore.
- Parameters:
sem – The semaphore.
- Returns:
PJ_SUCCESS on success, or the error code.
-
pj_status_t pj_sem_post(pj_sem_t *sem)
Release semaphore.
- Parameters:
sem – The semaphore.
- Returns:
PJ_SUCCESS on success, or the error code.
-
pj_status_t pj_sem_destroy(pj_sem_t *sem)
Destroy semaphore.
- Parameters:
sem – The semaphore.
- Returns:
PJ_SUCCESS on success, or the error code.
-
pj_status_t pj_sem_create(pj_pool_t *pool, const char *name, unsigned initial, unsigned max, pj_sem_t **sem)