aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/init.c
diff options
context:
space:
mode:
authorGravatar Hongwei Wang <hongweiw@google.com>2015-08-12 17:48:56 -0700
committerGravatar Hongwei Wang <hongweiw@google.com>2015-08-12 17:48:56 -0700
commitff6097ac49277841e2cedde3268d85aa5e3a5fcf (patch)
tree1e10b074ca3f42a714c445a5d37cd152972ab633 /src/core/surface/init.c
parent31efd2adadbe7097f52bc75c2675617b1ab55dfb (diff)
Fix zookeeper resolver plugin bugs
Diffstat (limited to 'src/core/surface/init.c')
-rw-r--r--src/core/surface/init.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/core/surface/init.c b/src/core/surface/init.c
index 10f3634f93..053878a87b 100644
--- a/src/core/surface/init.c
+++ b/src/core/surface/init.c
@@ -84,6 +84,17 @@ void grpc_register_plugin(void (*init)(void), void (*deinit)(void)) {
g_plugins_head->next = old_head;
}
+void grpc_unregister_all_plugins() {
+ grpc_plugin *plugin;
+ grpc_plugin *next;
+
+ for (plugin = g_plugins_head; plugin != NULL; plugin = next) {
+ next = plugin->next;
+ gpr_free(plugin);
+ }
+ g_plugins_head = NULL;
+}
+
void grpc_init(void) {
grpc_plugin *plugin;
gpr_once_init(&g_basic_init, do_basic_init);
@@ -139,7 +150,6 @@ void grpc_shutdown(void) {
plugin->deinit();
}
next = plugin->next;
- gpr_free(plugin);
}
}
gpr_mu_unlock(&g_init_mu);