diff options
author | David Garcia Quintas <dgq@google.com> | 2017-12-06 10:13:05 -0800 |
---|---|---|
committer | David Garcia Quintas <dgq@google.com> | 2017-12-06 10:13:05 -0800 |
commit | fa4126f0cb0eb266225704deb75b38a5b935d527 (patch) | |
tree | b029facd7429b61b2fc19b2732c270a5044850a9 /src/core/ext/filters | |
parent | abe92cc9883361d2beee420d0ffc691e86ffa86a (diff) |
moved max(..., min_deadline) to the right place in subchannel.cc
Diffstat (limited to 'src/core/ext/filters')
-rw-r--r-- | src/core/ext/filters/client_channel/subchannel.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc index dfe823792c..77e20f025a 100644 --- a/src/core/ext/filters/client_channel/subchannel.cc +++ b/src/core/ext/filters/client_channel/subchannel.cc @@ -400,7 +400,10 @@ static void continue_connect_locked(grpc_exec_ctx* exec_ctx, grpc_connect_in_args args; args.interested_parties = c->pollset_set; - args.deadline = c->next_attempt_deadline; + const grpc_millis min_deadline = + (c->min_connect_timeout_ms * 1000) + grpc_exec_ctx_now(exec_ctx); + c->next_attempt_deadline = c->backoff->Step(exec_ctx); + args.deadline = std::max(c->next_attempt_deadline, min_deadline); args.channel_args = c->args; grpc_connectivity_state_set(exec_ctx, &c->state_tracker, @@ -448,10 +451,6 @@ static void on_alarm(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) { } if (error == GRPC_ERROR_NONE) { gpr_log(GPR_INFO, "Failed to connect to channel, retrying"); - const grpc_millis min_deadline = - (c->min_connect_timeout_ms * 1000) + grpc_exec_ctx_now(exec_ctx); - c->next_attempt_deadline = - std::max(c->backoff->Step(exec_ctx), min_deadline); continue_connect_locked(exec_ctx, c); gpr_mu_unlock(&c->mu); } else { |