aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-01-23 13:40:41 -0800
committerGravatar ncteisen <ncteisen@gmail.com>2018-01-23 13:40:41 -0800
commit9f9724aac1602aaca2a5af8874a2021f356cc9c8 (patch)
treeb47cc75540da849f90576eb711f07edea3e2fbcc /src/core/lib/surface
parentcd6d0cce8e014ff2f0f6485c6fcaf5b49179588d (diff)
Fix initialization bug
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r--src/core/lib/surface/channel.cc11
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;