diff options
Diffstat (limited to 'base/cancellation_flag.cc')
-rw-r--r-- | base/cancellation_flag.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/base/cancellation_flag.cc b/base/cancellation_flag.cc new file mode 100644 index 0000000..75b6025 --- /dev/null +++ b/base/cancellation_flag.cc @@ -0,0 +1,22 @@ +// Copyright (c) 2009 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 "base/cancellation_flag.h" + +#include "base/logging.h" + +namespace base { + +void CancellationFlag::Set() { +#if !defined(NDEBUG) + DCHECK(set_on_ == PlatformThread::CurrentId()); +#endif + base::subtle::Release_Store(&flag_, 1); +} + +bool CancellationFlag::IsSet() const { + return base::subtle::Acquire_Load(&flag_) != 0; +} + +} // namespace base |