diff options
author | ncteisen <ncteisen@gmail.com> | 2017-11-06 17:49:57 -0800 |
---|---|---|
committer | ncteisen <ncteisen@gmail.com> | 2017-11-06 17:49:57 -0800 |
commit | f97d2f5b377317192923df8be0429888887a4654 (patch) | |
tree | e3202a19369ba9552d9e7dcc2b04678a18c7f1b0 /include/grpc++ | |
parent | 27a6713db332ba29b3bee903b84ba3824cc15c6a (diff) |
Add init/shutdown to codegen interface
Diffstat (limited to 'include/grpc++')
-rw-r--r-- | include/grpc++/impl/codegen/core_codegen.h | 3 | ||||
-rw-r--r-- | include/grpc++/impl/codegen/core_codegen_interface.h | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/grpc++/impl/codegen/core_codegen.h b/include/grpc++/impl/codegen/core_codegen.h index 1abf07d125..d7c57bebb9 100644 --- a/include/grpc++/impl/codegen/core_codegen.h +++ b/include/grpc++/impl/codegen/core_codegen.h @@ -50,6 +50,9 @@ class CoreCodegen final : public CoreCodegenInterface { void* gpr_malloc(size_t size) override; void gpr_free(void* p) override; + void grpc_init() override; + void grpc_shutdown() override; + void gpr_mu_init(gpr_mu* mu) override; void gpr_mu_destroy(gpr_mu* mu) override; void gpr_mu_lock(gpr_mu* mu) override; diff --git a/include/grpc++/impl/codegen/core_codegen_interface.h b/include/grpc++/impl/codegen/core_codegen_interface.h index 62ba3f1ff8..1949cdab76 100644 --- a/include/grpc++/impl/codegen/core_codegen_interface.h +++ b/include/grpc++/impl/codegen/core_codegen_interface.h @@ -63,6 +63,13 @@ class CoreCodegenInterface { virtual void* gpr_malloc(size_t size) = 0; virtual void gpr_free(void* p) = 0; + // These are only to be used to fix edge cases involving grpc_init and + // grpc_shutdown. Calling grpc_init from the codegen interface before + // the real grpc_init is called will cause a crash, so if you use this + // function, ensure that it is not the first call to grpc_init. + virtual void grpc_init() = 0; + virtual void grpc_shutdown() = 0; + virtual void gpr_mu_init(gpr_mu* mu) = 0; virtual void gpr_mu_destroy(gpr_mu* mu) = 0; virtual void gpr_mu_lock(gpr_mu* mu) = 0; |