summaryrefslogtreecommitdiff
path: root/storage/xtradb/sync/sync0sync.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-11-21 20:20:39 +0100
committerSergei Golubchik <sergii@pisem.net>2014-11-21 20:20:39 +0100
commitffc0ef63164e9a121d8a02323afe32a82299171e (patch)
treed9f882c0651f6e53ded3f606ff9b9c86bc7c9dd5 /storage/xtradb/sync/sync0sync.cc
parent67e2e14627731082ea9c31392f34fc920aef86df (diff)
parent8ff66501ca976bbac7854d0f45fc543cc5933f7b (diff)
downloadmariadb-git-ffc0ef63164e9a121d8a02323afe32a82299171e.tar.gz
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) {