grpc
third_party
abseil-cpp
absl
flags
abseil-cpp/absl/flags/flag.cc
Go to the documentation of this file.
1
//
2
// Copyright 2019 The Abseil Authors.
3
//
4
// Licensed under the Apache License, Version 2.0 (the "License");
5
// you may not use this file except in compliance with the License.
6
// You may obtain a copy of the License at
7
//
8
// https://www.apache.org/licenses/LICENSE-2.0
9
//
10
// Unless required by applicable law or agreed to in writing, software
11
// distributed under the License is distributed on an "AS IS" BASIS,
12
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
// See the License for the specific language governing permissions and
14
// limitations under the License.
15
16
#include "absl/flags/flag.h"
17
18
#include "absl/base/config.h"
19
20
namespace
absl
{
21
ABSL_NAMESPACE_BEGIN
22
23
// This global mutex protects on-demand construction of flag objects in MSVC
24
// builds.
25
#if defined(_MSC_VER) && !defined(__clang__)
26
27
namespace
flags_internal {
28
29
ABSL_CONST_INIT
static
absl::Mutex
construction_guard(
absl::kConstInit
);
30
31
absl::Mutex
* GetGlobalConstructionGuard() {
return
&construction_guard; }
32
33
}
// namespace flags_internal
34
35
#endif
36
37
ABSL_NAMESPACE_END
38
}
// namespace absl
ABSL_CONST_INIT
#define ABSL_CONST_INIT
Definition:
abseil-cpp/absl/base/attributes.h:716
absl::Mutex
Definition:
abseil-cpp/absl/synchronization/mutex.h:131
absl::kConstInit
@ kConstInit
Definition:
abseil-cpp/absl/base/const_init.h:70
ABSL_NAMESPACE_END
#define ABSL_NAMESPACE_END
Definition:
third_party/abseil-cpp/absl/base/config.h:171
ABSL_NAMESPACE_BEGIN
#define ABSL_NAMESPACE_BEGIN
Definition:
third_party/abseil-cpp/absl/base/config.h:170
absl
Definition:
abseil-cpp/absl/algorithm/algorithm.h:31
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:24