You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
976 B
38 lines
976 B
diff -up jack-1.9.5/linux/JackAtomic_os.h.atomic jack-1.9.5/linux/JackAtomic_os.h
|
|
--- jack-1.9.5/linux/JackAtomic_os.h.atomic 2010-08-28 15:23:58.000000000 +0200
|
|
+++ jack-1.9.5/linux/JackAtomic_os.h 2010-09-01 09:29:03.000000000 +0200
|
|
@@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suit
|
|
|
|
#include "JackTypes.h"
|
|
|
|
-#ifdef __PPC__
|
|
+#if defined(__PPC__)
|
|
|
|
static inline int CAS(register UInt32 value, register UInt32 newvalue, register volatile void* addr)
|
|
{
|
|
@@ -48,9 +48,7 @@ static inline int CAS(register UInt32 va
|
|
return result;
|
|
}
|
|
|
|
-#endif
|
|
-
|
|
-#if defined(__i386__) || defined(__x86_64__)
|
|
+#elif defined(__i386__) || defined(__x86_64__)
|
|
|
|
#define LOCK "lock ; "
|
|
|
|
@@ -67,6 +65,13 @@ static inline char CAS(volatile UInt32 v
|
|
return ret;
|
|
}
|
|
|
|
+#else
|
|
+
|
|
+static inline int CAS(register UInt32 value, register UInt32 newvalue, register volatile void* addr)
|
|
+{
|
|
+ return __sync_val_compare_and_swap((UInt32 *)addr, value, newvalue);
|
|
+}
|
|
+
|
|
#endif
|
|
|
|
#endif
|