/
lessfence.patch
35 lines (29 loc) · 1.02 KB
/
lessfence.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
diff -up pulseaudio-16.0/src/pulsecore/atomic.h.7~ pulseaudio-16.0/src/pulsecore/atomic.h
--- pulseaudio-16.0/src/pulsecore/atomic.h.7~ 2022-05-28 17:18:37.000000000 +0200
+++ pulseaudio-16.0/src/pulsecore/atomic.h 2022-05-28 23:01:05.356747662 +0200
@@ -66,13 +66,13 @@ static inline void pa_atomic_store(pa_at
#else
static inline int pa_atomic_load(const pa_atomic_t *a) {
- __sync_synchronize();
+ asm volatile("": : :"memory");
return a->value;
}
static inline void pa_atomic_store(pa_atomic_t *a, int i) {
a->value = i;
- __sync_synchronize();
+ asm volatile("": : :"memory");
}
#endif
@@ -124,13 +124,13 @@ static inline void pa_atomic_ptr_store(p
#else
static inline void* pa_atomic_ptr_load(const pa_atomic_ptr_t *a) {
- __sync_synchronize();
+ asm volatile("": : :"memory");
return (void*) a->value;
}
static inline void pa_atomic_ptr_store(pa_atomic_ptr_t *a, void *p) {
a->value = (uintptr_t) p;
- __sync_synchronize();
+ asm volatile("": : :"memory");
}
#endif