blob: eb9d6330aaf3d685c459ef246521f7ad110e53e3 [file] [log] [blame]
mtklein828877d2015-07-09 10:51:36 -07001/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkSpinlock.h"
9
mtklein15923c92016-02-29 10:14:38 -080010void SkSpinlock::contendedAcquire() {
11 // To act as a mutex, we need an acquire barrier when we acquire the lock.
12 while (fLocked.exchange(true, std::memory_order_acquire)) {
13 /*spin*/
14 }
mtklein828877d2015-07-09 10:51:36 -070015}