Group PJ_ATOMIC¶
-
group
PJ_ATOMIC
This module provides API to manipulate atomic variables.
Functions
-
pj_status_t
pj_atomic_create
(pj_pool_t *pool, pj_atomic_value_t initial, pj_atomic_t **atomic)¶ Create atomic variable.
- Parameters
pool – The pool.
initial – The initial value of the atomic variable.
atomic – Pointer to hold the atomic variable upon return.
- Returns
PJ_SUCCESS on success, or the error code.
-
pj_status_t
pj_atomic_destroy
(pj_atomic_t *atomic_var)¶ Destroy atomic variable.
- Parameters
atomic_var – the atomic variable.
- Returns
PJ_SUCCESS if success.
-
void
pj_atomic_set
(pj_atomic_t *atomic_var, pj_atomic_value_t value)¶ Set the value of an atomic type, and return the previous value.
- Parameters
atomic_var – the atomic variable.
value – value to be set to the variable.
-
pj_atomic_value_t
pj_atomic_get
(pj_atomic_t *atomic_var)¶ Get the value of an atomic type.
- Parameters
atomic_var – the atomic variable.
- Returns
the value of the atomic variable.
-
void
pj_atomic_inc
(pj_atomic_t *atomic_var)¶ Increment the value of an atomic type.
- Parameters
atomic_var – the atomic variable.
-
pj_atomic_value_t
pj_atomic_inc_and_get
(pj_atomic_t *atomic_var)¶ Increment the value of an atomic type and get the result.
- Parameters
atomic_var – the atomic variable.
- Returns
The incremented value.
-
void
pj_atomic_dec
(pj_atomic_t *atomic_var)¶ Decrement the value of an atomic type.
- Parameters
atomic_var – the atomic variable.
-
pj_atomic_value_t
pj_atomic_dec_and_get
(pj_atomic_t *atomic_var)¶ Decrement the value of an atomic type and get the result.
- Parameters
atomic_var – the atomic variable.
- Returns
The decremented value.
-
void
pj_atomic_add
(pj_atomic_t *atomic_var, pj_atomic_value_t value)¶ Add a value to an atomic type.
- Parameters
atomic_var – The atomic variable.
value – Value to be added.
-
pj_atomic_value_t
pj_atomic_add_and_get
(pj_atomic_t *atomic_var, pj_atomic_value_t value)¶ Add a value to an atomic type and get the result.
- Parameters
atomic_var – The atomic variable.
value – Value to be added.
- Returns
The result after the addition.
-
pj_status_t