Then we don't always need to include <vlc_atomic.h>
* Atomic operations do not require locking, but they are not very powerful.
*/
* Atomic operations do not require locking, but they are not very powerful.
*/
-/**
- * Memory storage space for an atom. Never access it directly.
- */
-typedef union
-{
- volatile uintptr_t u;
- volatile intptr_t s;
-} vlc_atomic_t;
-
/* All functions return the atom value _after_ the operation. */
VLC_EXPORT(uintptr_t, vlc_atomic_get, (const vlc_atomic_t *));
/* All functions return the atom value _after_ the operation. */
VLC_EXPORT(uintptr_t, vlc_atomic_get, (const vlc_atomic_t *));
#include "vlc_mtime.h"
#include "vlc_threads.h"
#include "vlc_mtime.h"
#include "vlc_threads.h"
+/**
+ * Memory storage space for an atom. Never access it directly.
+ */
+typedef union
+{
+ volatile uintptr_t u;
+ volatile intptr_t s;
+} vlc_atomic_t;
+
/*****************************************************************************
* Common structure members
*****************************************************************************/
/*****************************************************************************
* Common structure members
*****************************************************************************/
# define VLC_OBJECT( x ) ((vlc_object_t *)(x))
#endif
# define VLC_OBJECT( x ) ((vlc_object_t *)(x))
#endif
typedef struct gc_object_t
{
vlc_atomic_t refs;
typedef struct gc_object_t
{
vlc_atomic_t refs;