#include "config.h"
#include "atomic.h"
Go to the source code of this file.
int avpriv_atomic_int_get |
( |
volatile int * |
ptr | ) |
|
Load the current value stored in an atomic integer.
- Parameters
-
- Returns
- the current value of the atomic integer
- Note
- This acts as a memory barrier.
Definition at line 75 of file atomic.c.
void avpriv_atomic_int_set |
( |
volatile int * |
ptr, |
|
|
int |
val |
|
) |
| |
Store a new value in an atomic integer.
- Parameters
-
ptr | atomic integer |
val | the value to store in the atomic integer |
- Note
- This acts as a memory barrier.
Definition at line 80 of file atomic.c.
int avpriv_atomic_int_add_and_fetch |
( |
volatile int * |
ptr, |
|
|
int |
inc |
|
) |
| |
Add a value to an atomic integer.
- Parameters
-
ptr | atomic integer |
inc | the value to add to the atomic integer (may be negative) |
- Returns
- the new value of the atomic integer.
- Note
- This does NOT act as a memory barrier. This is primarily intended for reference counting.
Definition at line 85 of file atomic.c.
void* avpriv_atomic_ptr_cas |
( |
void *volatile * |
ptr, |
|
|
void * |
oldval, |
|
|
void * |
newval |
|
) |
| |
Atomic pointer compare and swap.
- Parameters
-
ptr | pointer to the pointer to operate on |
oldval | do the swap if the current value of *ptr equals to oldval |
newval | value to replace *ptr with |
- Returns
- the value of *ptr before comparison
Definition at line 91 of file atomic.c.