summaryrefslogtreecommitdiff
path: root/audio/dream/files/patch-src__linux__pa_shm_ringbuffer.c
blob: c2d2496dbeb62fe03b45f356ad7c01bb2ca06646 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- src/linux/pa_shm_ringbuffer.c.orig	2013-11-11 16:33:40 UTC
+++ src/linux/pa_shm_ringbuffer.c
@@ -72,12 +72,13 @@
  ****************/
 
 #if defined(__APPLE__) || defined(__FreeBSD__)
-#   include <libkern/OSAtomic.h>
+#include <sys/types.h>
+#   include <machine/atomic.h>
 /* Here are the memory barrier functions. Mac OS X and FreeBSD only provide
    full memory barriers, so the three types of barriers are the same. */
-#   define PaUtil_FullMemoryBarrier()  OSMemoryBarrier()
-#   define PaUtil_ReadMemoryBarrier()  OSMemoryBarrier()
-#   define PaUtil_WriteMemoryBarrier() OSMemoryBarrier()
+#   define PaUtil_FullMemoryBarrier()  mb()
+#   define PaUtil_ReadMemoryBarrier()  rmb()
+#   define PaUtil_WriteMemoryBarrier() wmb()
 #elif defined(__GNUC__)
 /* GCC understands volatile asm and "memory" to mean it
  * should not reorder memory read/writes */