summaryrefslogtreecommitdiff
path: root/src/guard.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/guard.cc')
-rw-r--r--src/guard.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/guard.cc b/src/guard.cc
index 172af47..98f8a06 100644
--- a/src/guard.cc
+++ b/src/guard.cc
@@ -19,7 +19,7 @@ extern "C" int __cxa_guard_acquire(int64_t *guard_object)
char first_byte = (*guard_object) >> 56;
if (1 == first_byte) { return 0; }
int32_t *lock = low_32_bits(guard_object);
- while (!__sync_bool_compare_and_swap(lock, 0, 1))
+ while (!__sync_bool_compare_and_swap_4(lock, 0, 1))
{
// TODO: Use some of the remaining 24 bits to define a mutex to sleep
// on. Whether this is actually worth bothering with depends on