diff options
author | 2018-01-23 13:40:41 -0800 | |
---|---|---|
committer | 2018-01-23 13:40:41 -0800 | |
commit | 9f9724aac1602aaca2a5af8874a2021f356cc9c8 (patch) | |
tree | b47cc75540da849f90576eb711f07edea3e2fbcc /src/core/lib/surface | |
parent | cd6d0cce8e014ff2f0f6485c6fcaf5b49179588d (diff) |
Fix initialization bug
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r-- | src/core/lib/surface/channel.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 613a83cd01..2c40880579 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -105,7 +105,7 @@ grpc_channel* grpc_channel_create_with_builder( memset(channel, 0, sizeof(*channel)); channel->target = target; channel->is_client = grpc_channel_stack_type_is_client(channel_stack_type); - bool tracer_initialized = false; + int64_t channel_tracer_max_nodes = 0; // default to off gpr_mu_init(&channel->registered_call_mu); channel->registered_calls = nullptr; @@ -197,18 +197,17 @@ grpc_channel* grpc_channel_create_with_builder( 0x1; /* always support no compression */ } else if (0 == strcmp(args->args[i].key, GRPC_ARG_CHANNEL_TRACING_MAX_NODES)) { - GPR_ASSERT(!tracer_initialized); - tracer_initialized = true; + GPR_ASSERT(channel_tracer_max_nodes == -1); // max_nodes defaults to 10, clamped between 0 and 100. const grpc_integer_options options = {10, 0, 100}; - size_t max_nodes = + channel_tracer_max_nodes = (size_t)grpc_channel_arg_get_integer(&args->args[i], options); - channel->tracer = - grpc_core::MakeRefCounted<grpc_core::ChannelTracer>(max_nodes); } } grpc_channel_args_destroy(args); + channel->tracer = grpc_core::MakeRefCounted<grpc_core::ChannelTracer>( + channel_tracer_max_nodes); channel->tracer->AddTrace(grpc_slice_from_static_string("Channel created"), GRPC_ERROR_NONE, GRPC_CHANNEL_IDLE); return channel; |