| Index: content/common/one_writer_seqlock.cc
|
| diff --git a/content/common/one_writer_seqlock.cc b/content/common/one_writer_seqlock.cc
|
| deleted file mode 100644
|
| index fa0c8b2d0cf424a5cfa09ca18a1b5749259de8f8..0000000000000000000000000000000000000000
|
| --- a/content/common/one_writer_seqlock.cc
|
| +++ /dev/null
|
| @@ -1,49 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/common/one_writer_seqlock.h"
|
| -
|
| -namespace content {
|
| -
|
| -OneWriterSeqLock::OneWriterSeqLock()
|
| - : sequence_(0) {
|
| -}
|
| -
|
| -base::subtle::Atomic32 OneWriterSeqLock::ReadBegin() {
|
| - base::subtle::Atomic32 version;
|
| - for (;;) {
|
| - version = base::subtle::NoBarrier_Load(&sequence_);
|
| -
|
| - // If the counter is even, then the associated data might be in a
|
| - // consistent state, so we can try to read.
|
| - if ((version & 1) == 0)
|
| - break;
|
| -
|
| - // Otherwise, the writer is in the middle of an update. Retry the read.
|
| - base::PlatformThread::YieldCurrentThread();
|
| - }
|
| - return version;
|
| -}
|
| -
|
| -bool OneWriterSeqLock::ReadRetry(base::subtle::Atomic32 version) {
|
| - // If the sequence number was updated then a read should be re-attempted.
|
| - // -- Load fence, read membarrier
|
| - return base::subtle::Release_Load(&sequence_) != version;
|
| -}
|
| -
|
| -void OneWriterSeqLock::WriteBegin() {
|
| - // Increment the sequence number to odd to indicate the beginning of a write
|
| - // update.
|
| - base::subtle::Barrier_AtomicIncrement(&sequence_, 1);
|
| - // -- Store fence, write membarrier
|
| -}
|
| -
|
| -void OneWriterSeqLock::WriteEnd() {
|
| - // Increment the sequence to an even number to indicate the completion of
|
| - // a write update.
|
| - // -- Store fence, write membarrier
|
| - base::subtle::Barrier_AtomicIncrement(&sequence_, 1);
|
| -}
|
| -
|
| -} // namespace content
|
|
|