diff options
author | 2017-03-14 06:55:44 -0700 | |
---|---|---|
committer | 2017-03-14 06:55:44 -0700 | |
commit | 2e0788ac76ee7bd6dcbcead1ca25d061c2c3abe7 (patch) | |
tree | b756cf57e9a6a653b5fffa4a3df1f7edaa562df2 /src | |
parent | 350ef9a293a1288dca2172c52b9b87868b3c98e5 (diff) |
Move config application to *just* prior to subchannel pick
- this is both the point where we *know* we have a config (or not), and the
last moment before wait_until_ready-ness is not an issue
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ext/client_channel/client_channel.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/core/ext/client_channel/client_channel.c b/src/core/ext/client_channel/client_channel.c index d1ce186fec..f2475cf6ae 100644 --- a/src/core/ext/client_channel/client_channel.c +++ b/src/core/ext/client_channel/client_channel.c @@ -796,7 +796,6 @@ static void subchannel_ready_locked(grpc_exec_ctx *exec_ctx, void *arg, } else { /* Create call on subchannel. */ grpc_subchannel_call *subchannel_call = NULL; - apply_final_configuration_locked(exec_ctx, elem); grpc_error *new_error = grpc_connected_subchannel_create_call( exec_ctx, calld->connected_subchannel, calld->pollent, calld->path, calld->call_start_time, calld->deadline, &subchannel_call); @@ -894,6 +893,7 @@ static bool pick_subchannel_locked( } GPR_ASSERT(error == GRPC_ERROR_NONE); if (chand->lb_policy != NULL) { + apply_final_configuration_locked(exec_ctx, elem); grpc_lb_policy *lb_policy = chand->lb_policy; GRPC_LB_POLICY_REF(lb_policy, "pick_subchannel"); // If the application explicitly set wait_for_ready, use that. @@ -1025,7 +1025,6 @@ static void start_transport_stream_op_locked_inner(grpc_exec_ctx *exec_ctx, if (calld->creation_phase == GRPC_SUBCHANNEL_CALL_HOLDER_NOT_CREATING && calld->connected_subchannel != NULL) { grpc_subchannel_call *subchannel_call = NULL; - apply_final_configuration_locked(exec_ctx, elem); grpc_error *error = grpc_connected_subchannel_create_call( exec_ctx, calld->connected_subchannel, calld->pollent, calld->path, calld->call_start_time, calld->deadline, &subchannel_call); |