1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/synchronization/cancellation_flag.h"
6
7#include "base/logging.h"
8
9namespace base {
10
11void CancellationFlag::Set() {
12#if !defined(NDEBUG)
13  DCHECK_EQ(set_on_, PlatformThread::CurrentId());
14#endif
15  base::subtle::Release_Store(&flag_, 1);
16}
17
18bool CancellationFlag::IsSet() const {
19  return base::subtle::Acquire_Load(&flag_) != 0;
20}
21
22}  // namespace base
23