summaryrefslogtreecommitdiff
path: root/storage/xtradb/sync/sync0sync.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/sync/sync0sync.cc')
-rw-r--r--storage/xtradb/sync/sync0sync.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/storage/xtradb/sync/sync0sync.cc b/storage/xtradb/sync/sync0sync.cc
index ca630531086..d02a0df70ca 100644
--- a/storage/xtradb/sync/sync0sync.cc
+++ b/storage/xtradb/sync/sync0sync.cc
@@ -649,6 +649,11 @@ spin_loop:
mutex_set_waiters(mutex, 1);
}
+ /* Make sure waiters store won't pass over mutex_test_and_set */
+#ifdef __powerpc__
+ os_mb;
+#endif
+
/* Try to reserve still a few times */
for (i = 0; i < 4; i++) {
if (ib_mutex_test_and_set(mutex) == 0) {