diff options
author | Jorge Canizales <jcanizales@google.com> | 2016-08-24 18:23:24 -0700 |
---|---|---|
committer | Jorge Canizales <jcanizales@google.com> | 2016-08-24 18:23:24 -0700 |
commit | 7603d64982ea5de924218d600a851d6c8a4e6415 (patch) | |
tree | 851fd1a892c61e8f44274f7eb4e25987c7b61e9c | |
parent | d7ff4ff40071d2b486a052183e3e9f9382afb745 (diff) |
Let tracing be enabled before starting an RPC
by calling grpc_init on [GRPCCall load], instead of lazily.
-rw-r--r-- | src/objective-c/GRPCClient/GRPCCall.m | 5 | ||||
-rw-r--r-- | src/objective-c/GRPCClient/private/GRPCWrappedCall.m | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m index da9473f9a2..b5d8309787 100644 --- a/src/objective-c/GRPCClient/GRPCCall.m +++ b/src/objective-c/GRPCClient/GRPCCall.m @@ -103,6 +103,11 @@ NSString * const kGRPCTrailersKey = @"io.grpc.TrailersKey"; @synthesize state = _state; +// TODO(jcanizales): If grpc_init is idempotent, this should be changed from load to initialize. ++ (void)load { + grpc_init(); +} + - (instancetype)init { return [self initWithHost:nil path:nil requestsWriter:nil]; } diff --git a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m index 97f6b89340..1339429660 100644 --- a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m +++ b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m @@ -245,11 +245,6 @@ } if (self = [super init]) { - static dispatch_once_t initialization; - dispatch_once(&initialization, ^{ - grpc_init(); - }); - // Each completion queue consumes one thread. There's a trade to be made between creating and // consuming too many threads and having contention of multiple calls in a single completion // queue. Currently we use a singleton queue. |