diff --git a/src/core/debug/trace.c b/src/core/debug/trace.c index e0b502bb9cc73b56c2c26dea87f37b9b5e0ff3df..b53dfe804bb33ea7ddf1d49202ecc9133ee87716 100644 --- a/src/core/debug/trace.c +++ b/src/core/debug/trace.c @@ -99,6 +99,9 @@ void grpc_tracer_init(const char *env_var) { parse(e); gpr_free(e); } +} + +void grpc_tracer_shutdown(void) { while (tracers) { tracer *t = tracers; tracers = t->next; diff --git a/src/core/debug/trace.h b/src/core/debug/trace.h index c02f14b7f20a6158f8ddf47c13d484dd2ec7eb4e..fc8615bc693ded17fc7770ed24b438eeba3d2588 100644 --- a/src/core/debug/trace.h +++ b/src/core/debug/trace.h @@ -38,5 +38,6 @@ void grpc_register_tracer(const char *name, int *flag); void grpc_tracer_init(const char *env_var_name); +void grpc_tracer_shutdown(void); #endif /* GRPC_INTERNAL_CORE_DEBUG_TRACE_H */ diff --git a/src/core/surface/init.c b/src/core/surface/init.c index ac6871c6f22789ae6ea189ee1bcc9169cf4e1f55..ca61a38a3516e7340da2aac305178ba400299820 100644 --- a/src/core/surface/init.c +++ b/src/core/surface/init.c @@ -78,6 +78,7 @@ void grpc_shutdown(void) { grpc_iomgr_shutdown(); census_shutdown(); grpc_timers_global_destroy(); + grpc_tracer_shutdown(); } gpr_mu_unlock(&g_init_mu); }