|
VLC
2.1.0-git
|
Atomic operations do not require locking, but they are not very powerful. More...

Go to the source code of this file.
Data Structures | |
| union | vlc_atomic_t |
| Memory storage space for an atom. More... | |
Macros | |
| #define | ATOMIC_FLAG_INIT false |
| #define | ATOMIC_VAR_INIT(value) (value) |
| #define | atomic_init(obj, value) do { *(obj) = (value); } while(0) |
| #define | kill_dependency(y) ((void)0) |
| #define | atomic_thread_fence(order) __sync_synchronize() |
| #define | atomic_signal_fence(order) ((void)0) |
| #define | atomic_is_lock_free(obj) false |
| #define | VLC_ATOMIC_INIT(val) { (val) } |
| Static initializer for vlc_atomic_t. | |
Typedefs | |
| typedef bool | atomic_flag |
| typedef bool | atomic_bool |
| typedef char | atomic_char |
| typedef signed char | atomic_schar |
| typedef unsigned char | atomic_uchar |
| typedef short | atomic_short |
| typedef unsigned short | atomic_ushort |
| typedef int | atomic_int |
| typedef unsigned int | atomic_uint |
| typedef long | atomic_long |
| typedef unsigned long | atomic_ulong |
| typedef long long | atomic_llong |
| typedef unsigned long long | atomic_ullong |
| typedef wchar_t | atomic_wchar_t |
| typedef int_least8_t | atomic_int_least8_t |
| typedef uint_least8_t | atomic_uint_least8_t |
| typedef int_least16_t | atomic_int_least16_t |
| typedef uint_least16_t | atomic_uint_least16_t |
| typedef int_least32_t | atomic_int_least32_t |
| typedef uint_least32_t | atomic_uint_least32_t |
| typedef int_least64_t | atomic_int_least64_t |
| typedef uint_least64_t | atomic_uint_least64_t |
| typedef int_fast8_t | atomic_int_fast8_t |
| typedef uint_fast8_t | atomic_uint_fast8_t |
| typedef int_fast16_t | atomic_int_fast16_t |
| typedef uint_fast16_t | atomic_uint_fast16_t |
| typedef int_fast32_t | atomic_int_fast32_t |
| typedef uint_fast32_t | atomic_uint_fast32_t |
| typedef int_fast64_t | atomic_int_fast64_t |
| typedef uint_fast64_t | atomic_uint_fast64_t |
| typedef intptr_t | atomic_intptr_t |
| typedef uintptr_t | atomic_uintptr_t |
| typedef size_t | atomic_size_t |
| typedef ptrdiff_t | atomic_ptrdiff_t |
| typedef intmax_t | atomic_intmax_t |
| typedef uintmax_t | atomic_uintmax_t |
| typedef atomic_uint_least32_t | vlc_atomic_float |
Functions | |
| static uintptr_t | vlc_atomic_get (vlc_atomic_t *atom) |
| static uintptr_t | vlc_atomic_set (vlc_atomic_t *atom, uintptr_t v) |
| static uintptr_t | vlc_atomic_add (vlc_atomic_t *atom, uintptr_t v) |
| static uintptr_t | vlc_atomic_sub (vlc_atomic_t *atom, uintptr_t v) |
| static uintptr_t | vlc_atomic_inc (vlc_atomic_t *atom) |
| static uintptr_t | vlc_atomic_dec (vlc_atomic_t *atom) |
| static uintptr_t | vlc_atomic_swap (vlc_atomic_t *atom, uintptr_t v) |
| static uintptr_t | vlc_atomic_compare_swap (vlc_atomic_t *atom, uintptr_t u, uintptr_t v) |
| static float | vlc_atomic_loadf (vlc_atomic_float *atom) |
| Helper to retrieve a single precision from an atom. | |
| static void | vlc_atomic_storef (vlc_atomic_float *atom, float f) |
| Helper to store a single precision into an atom. | |
Atomic operations do not require locking, but they are not very powerful.
| #define ATOMIC_FLAG_INIT false |
| #define atomic_init | ( | obj, | |
| value | |||
| ) | do { *(obj) = (value); } while(0) |
Referenced by aout_DecNew(), input_item_NewWithType(), input_resource_New(), vlc_custom_create(), vlc_timer_create(), and vout_statistic_Init().
| #define atomic_is_lock_free | ( | obj | ) | false |
| #define atomic_signal_fence | ( | order | ) | ((void)0) |
| #define atomic_thread_fence | ( | order | ) | __sync_synchronize() |
| #define ATOMIC_VAR_INIT | ( | value | ) | (value) |
Referenced by input_item_NewWithType().
| #define kill_dependency | ( | y | ) | ((void)0) |
| #define VLC_ATOMIC_INIT | ( | val | ) | { (val) } |
Static initializer for vlc_atomic_t.
| typedef bool atomic_bool |
| typedef char atomic_char |
| typedef bool atomic_flag |
| typedef int atomic_int |
| typedef int_fast16_t atomic_int_fast16_t |
| typedef int_fast32_t atomic_int_fast32_t |
| typedef int_fast64_t atomic_int_fast64_t |
| typedef int_fast8_t atomic_int_fast8_t |
| typedef int_least16_t atomic_int_least16_t |
| typedef int_least32_t atomic_int_least32_t |
| typedef int_least64_t atomic_int_least64_t |
| typedef int_least8_t atomic_int_least8_t |
| typedef intmax_t atomic_intmax_t |
| typedef intptr_t atomic_intptr_t |
| typedef long long atomic_llong |
| typedef long atomic_long |
| typedef ptrdiff_t atomic_ptrdiff_t |
| typedef signed char atomic_schar |
| typedef short atomic_short |
| typedef size_t atomic_size_t |
| typedef unsigned char atomic_uchar |
| typedef unsigned int atomic_uint |
| typedef uint_fast16_t atomic_uint_fast16_t |
| typedef uint_fast32_t atomic_uint_fast32_t |
| typedef uint_fast64_t atomic_uint_fast64_t |
| typedef uint_fast8_t atomic_uint_fast8_t |
| typedef uint_least16_t atomic_uint_least16_t |
| typedef uint_least32_t atomic_uint_least32_t |
| typedef uint_least64_t atomic_uint_least64_t |
| typedef uint_least8_t atomic_uint_least8_t |
| typedef uintmax_t atomic_uintmax_t |
| typedef uintptr_t atomic_uintptr_t |
| typedef unsigned long long atomic_ullong |
| typedef unsigned long atomic_ulong |
| typedef unsigned short atomic_ushort |
| typedef wchar_t atomic_wchar_t |
|
inlinestatic |
References vlc_atomic_t::u.
Referenced by vlc_atomic_inc().
|
inlinestatic |
References vlc_atomic_t::u.
|
inlinestatic |
References vlc_atomic_sub().
Referenced by picture_Release().
|
inlinestatic |
References vlc_atomic_t::u.
Referenced by picture_IsReferenced(), picture_pool_Delete(), picture_pool_Get(), picture_pool_NonEmpty(), picture_pool_Reserve(), PictureDestroy(), and vlc_testcancel().
|
inlinestatic |
References vlc_atomic_add().
Referenced by picture_Hold().
|
inlinestatic |
Helper to retrieve a single precision from an atom.
Referenced by aout_volume_Amplify().
|
inlinestatic |
References vlc_atomic_t::u.
Referenced by picture_NewFromResource(), picture_pool_Delete(), picture_pool_NewExtended(), picture_pool_NonEmpty(), picture_Setup(), vlc_cancel(), and vlc_clone_attr().
|
inlinestatic |
Helper to store a single precision into an atom.
Referenced by ReplayGainCallback().
|
inlinestatic |
References vlc_atomic_t::u.
Referenced by vlc_atomic_dec().
|
inlinestatic |
References vlc_atomic_t::u.
1.8.1.2