diff options
author | Hongwei Wang <hongweiw@google.com> | 2015-08-12 17:48:56 -0700 |
---|---|---|
committer | Hongwei Wang <hongweiw@google.com> | 2015-08-12 17:48:56 -0700 |
commit | ff6097ac49277841e2cedde3268d85aa5e3a5fcf (patch) | |
tree | 1e10b074ca3f42a714c445a5d37cd152972ab633 /src/core/surface/init.c | |
parent | 31efd2adadbe7097f52bc75c2675617b1ab55dfb (diff) |
Fix zookeeper resolver plugin bugs
Diffstat (limited to 'src/core/surface/init.c')
-rw-r--r-- | src/core/surface/init.c | 12 |
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); |