upipe/uatomic.h header reference
Upipe thread-safe atomic operations More
Header inclusion
Members
Types
- typedef [...] * uatomic_ptr_t
- typedef [...] uatomic_uint32_t
Macros
Description
This API mimicks a partial C11 stdatomic implementation. Atomic variables must be initialized with uatomic_init before use, and released with uatomic_clean before deallocation.
Members detail
This macro is declared in upipe/uatomic.h source file, line 81.
This macro defines a set of functions to manipulate atomic variables.
This macro is declared in upipe/uatomic.h source file, line 34.
This macro is declared in upipe/uatomic.h source file, line 59.
This macro is declared in upipe/uatomic.h source file, line 61.
This macro is declared in upipe/uatomic.h source file, line 64.
This macro is declared in upipe/uatomic.h source file, line 65.
This macro is declared in upipe/uatomic.h source file, line 53.
This macro is declared in upipe/uatomic.h source file, line 57.
This macro is declared in upipe/uatomic.h source file, line 60.
This macro is declared in upipe/uatomic.h source file, line 62.
This macro is declared in upipe/uatomic.h source file, line 273.
This declaration involves expansion of the UATOMIC_TEMPLATE macro.
This macro atomically replaces the uatomic pointer, if it contains an expected value, with a desired value.
Parameter list:
- obj: pointer to a uatomic variable
- expected: reference to expected value, overwritten with actual value if it fails
- desired: desired value
The return value is false if the exchange failed
This macro is declared in upipe/uatomic.h source file, line 54.
This macro is declared in upipe/uatomic.h source file, line 58.
This macro is declared in upipe/uatomic.h source file, line 261.
This declaration involves expansion of the UATOMIC_TEMPLATE macro.
This macro loads an atomic pointer.
Parameter list:
- obj: pointer to a uatomic variable
- type: type of the pointer
The return value is the loaded value
This macro is declared in upipe/uatomic.h source file, line 56.
This typedef is declared in upipe/uatomic.h source file, line 79.
This typedef defines an atomic pointer.
This macro is declared in upipe/uatomic.h source file, line 55.
This typedef is declared in upipe/uatomic.h source file, line 76.
This typedef defines an atomic 32-bits unsigned integer. ARM platforms do not support larger atomic operations.
See also uring_lifo and uring_fifo.