Skip to content
Snippets Groups Projects
Commit cb903972 authored by Nicolas "Pixel" Noble's avatar Nicolas "Pixel" Noble
Browse files

Adding the init / destruct of grpc for ruby in a gpr_once.

parent 6f4f02cf
No related branches found
No related tags found
No related merge requests found
...@@ -289,15 +289,20 @@ VALUE sym_code = Qundef; ...@@ -289,15 +289,20 @@ VALUE sym_code = Qundef;
VALUE sym_details = Qundef; VALUE sym_details = Qundef;
VALUE sym_metadata = Qundef; VALUE sym_metadata = Qundef;
static gpr_once g_once_init = GPR_ONCE_INIT;
static void grpc_ruby_once_init() {
grpc_init();
atexit(grpc_rb_shutdown);
}
void Init_grpc_c() { void Init_grpc_c() {
if (!grpc_rb_load_core()) { if (!grpc_rb_load_core()) {
rb_raise(rb_eLoadError, "Couldn't find or load gRPC's dynamic C core"); rb_raise(rb_eLoadError, "Couldn't find or load gRPC's dynamic C core");
return; return;
} }
grpc_init(); gpr_once_init(&g_once_init, grpc_ruby_once_init);
atexit(grpc_rb_shutdown);
grpc_rb_mGRPC = rb_define_module("GRPC"); grpc_rb_mGRPC = rb_define_module("GRPC");
grpc_rb_mGrpcCore = rb_define_module_under(grpc_rb_mGRPC, "Core"); grpc_rb_mGrpcCore = rb_define_module_under(grpc_rb_mGRPC, "Core");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment