Go to the documentation of this file.
26 #include "absl/base/thread_annotations.h"
62 #define MAX_PLUGINS 128
114 builder->channel_init()->RegisterStage(
150 if (++g_initializations == 1) {
151 if (g_shutting_down) {
152 g_shutting_down =
false;
194 g_shutting_down =
false;
203 if (--g_initializations != 0) {
213 if (--g_initializations == 0) {
222 g_shutting_down =
true;
229 g_shutting_down =
true;
233 cleanup_thread.
Start();
241 if (--g_initializations == 0) {
242 g_shutting_down =
true;
251 r = g_initializations > 0;
258 while (g_shutting_down) {
void RegisterForkHandlers()
int grpc_is_initialized(void)
GPRAPI void gpr_log_verbosity_init(void)
static ApplicationCallbackExecCtx * Get()
bool grpc_iomgr_is_any_background_poller_thread()
static grpc_core::Mutex * g_init_mu
void grpc_timer_manager_set_threading(bool enabled)
void gpr_timers_global_destroy(void)
static void SetDefaultBuilder(void(*builder)(CoreConfiguration::Builder *))
static int g_initializations ABSL_GUARDED_BY(g_init_mu)
@ GRPC_CLIENT_DIRECT_CHANNEL
static const grpc_channel_filter kFilterVtable
void grpc_iomgr_shutdown_background_closure()
void grpc_shutdown_internal(void *)
void grpc_tracer_init(const char *env_var_name)
GPRAPI void gpr_once_init(gpr_once *once, void(*init_function)(void))
static grpc_core::CondVar * g_shutting_down_cv
static gpr_once g_basic_init
void grpc_register_built_in_plugins(void)
void grpc_stats_init(void)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
void grpc_cq_global_init()
#define ABSL_EXCLUSIVE_LOCKS_REQUIRED(...)
void grpc_shutdown_internal_locked(void) ABSL_EXCLUSIVE_LOCKS_REQUIRED(g_init_mu)
const grpc_channel_filter grpc_server_auth_filter
void RegisterSecurityFilters(CoreConfiguration::Builder *builder)
static void GlobalInit(void)
void grpc_iomgr_shutdown()
static int g_number_of_plugins
void grpc_register_plugin(void(*init)(void), void(*destroy)(void))
static bool maybe_prepend_grpc_server_authz_filter(grpc_core::ChannelStackBuilder *builder)
#define GRPC_ARG_AUTHORIZATION_POLICY_PROVIDER
#define GRPC_APP_CALLBACK_EXEC_CTX_FLAG_IS_INTERNAL_THREAD
static const grpc_channel_filter kFilter
static bool maybe_prepend_server_auth_filter(grpc_core::ChannelStackBuilder *builder)
static bool maybe_prepend_client_auth_filter(grpc_core::ChannelStackBuilder *builder)
grpc_core::ExecCtx exec_ctx
void grpc_shutdown_blocking(void)
static void GlobalShutdown()
void BuildCoreConfiguration(CoreConfiguration::Builder *builder)
static void GlobalShutdown(void)
#define GRPC_ARG_SECURITY_CONNECTOR
static void do_basic_init(void)
void grpc_maybe_wait_for_async_shutdown(void)
void grpc_fork_handlers_auto_register(void)
#define GRPC_SERVER_CREDENTIALS_ARG
void grpc_tracer_shutdown(void)
void gpr_timers_global_init(void)
static grpc_plugin g_all_of_the_plugins[MAX_PLUGINS]
GPRAPI void gpr_time_init(void)
struct grpc_plugin grpc_plugin
void grpc_executor_global_init()
static std::function< void(void *, Slot *)> destroy
#define GRPC_API_TRACE(fmt, nargs, args)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:15