| // Copyright 2017 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/threading/sequence_local_storage_slot.h" | |
| #include <limits> | |
| #include "base/atomic_sequence_num.h" | |
| #include "base/logging.h" | |
| namespace base { | |
| namespace internal { | |
| namespace { | |
| AtomicSequenceNumber g_sequence_local_storage_slot_generator; | |
| } // namespace | |
| int GetNextSequenceLocalStorageSlotNumber() { | |
| int slot_id = g_sequence_local_storage_slot_generator.GetNext(); | |
| DCHECK_LT(slot_id, std::numeric_limits<int>::max()); | |
| return slot_id; | |
| } | |
| } // namespace internal | |
| } // namespace base |