]> git.sesse.net Git - vlc/blobdiff - src/win32/atomic.c
Remove INT64_C hack.
[vlc] / src / win32 / atomic.c
index bf111782b161c1b9152590f4225b9ee91f691a3c..abadf894ff956e789f3203151284d24a74c67dda 100644 (file)
@@ -34,15 +34,19 @@ uintptr_t vlc_atomic_get (const vlc_atomic_t *atom)
 
 uintptr_t vlc_atomic_set (vlc_atomic_t *atom, uintptr_t v)
 {
-    atom->u = v;
+#if defined (WIN64)
+    InterlockedExchange64 (&atom->u, v);
+#else
+    InterlockedExchange (&atom->u, v);
+#endif
     return v;
 }
 
 uintptr_t vlc_atomic_add (vlc_atomic_t *atom, uintptr_t v)
 {
 #if defined (WIN64)
-    return InterlockedExchangeAdd64 (&atom->s, v);
+    return InterlockedExchangeAdd64 (&atom->s, v) + v;
 #else
-    return InterlockedExchangeAdd (&atom->s, v);
+    return InterlockedExchangeAdd (&atom->s, v) + v;
 #endif
 }