diff options
author | 2015-04-16 20:09:55 +0900 | |
---|---|---|
committer | 2015-04-16 20:09:55 +0900 | |
commit | 99eb9f94bf49cdb322b0de9f4bb16d5af15b08fd (patch) | |
tree | de0b98fa8bb291ab5f981096ab2aa28766c493a2 | |
parent | 3c88e5d6e110ea5bc654f6efe6032cbc843fb3a3 (diff) |
Fix a linkage error with mac clang
Prevent symbol cache variables from being instantiated multipe times.
-rw-r--r-- | src/ruby/ext/grpc/rb_grpc.c | 5 | ||||
-rw-r--r-- | src/ruby/ext/grpc/rb_grpc.h | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/ruby/ext/grpc/rb_grpc.c b/src/ruby/ext/grpc/rb_grpc.c index 51d1872e8a..4b1015f0fe 100644 --- a/src/ruby/ext/grpc/rb_grpc.c +++ b/src/ruby/ext/grpc/rb_grpc.c @@ -257,6 +257,11 @@ VALUE grpc_rb_sStatus = Qnil; VALUE grpc_rb_mGRPC = Qnil; VALUE grpc_rb_mGrpcCore = Qnil; +/* cached Symbols for members in Status struct */ +VALUE sym_code = Qundef; +VALUE sym_details = Qundef; +VALUE sym_metadata = Qundef; + void Init_grpc() { grpc_init(); ruby_vm_at_exit(grpc_rb_shutdown); diff --git a/src/ruby/ext/grpc/rb_grpc.h b/src/ruby/ext/grpc/rb_grpc.h index fac4c6d671..1d411baf5b 100644 --- a/src/ruby/ext/grpc/rb_grpc.h +++ b/src/ruby/ext/grpc/rb_grpc.h @@ -48,13 +48,13 @@ extern VALUE grpc_rb_sNewServerRpc; extern VALUE grpc_rb_sStatus; /* sym_code is the symbol for the code attribute of grpc_rb_sStatus. */ -VALUE sym_code; +extern VALUE sym_code; /* sym_details is the symbol for the details attribute of grpc_rb_sStatus. */ -VALUE sym_details; +extern VALUE sym_details; /* sym_metadata is the symbol for the metadata attribute of grpc_rb_sStatus. */ -VALUE sym_metadata; +extern VALUE sym_metadata; /* GC_NOT_MARKED is used in calls to Data_Wrap_Struct to indicate that the wrapped struct does not need to participate in ruby gc. */ |