aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/channel/client_setup.c
diff options
context:
space:
mode:
authorGravatar ctiller <ctiller@google.com>2014-12-15 13:02:10 -0800
committerGravatar Michael Lumish <mlumish@google.com>2014-12-15 14:46:23 -0800
commitc5abe59fe1bd72f7478f0f865daec1474f3865dc (patch)
tree21a210c52ae9627cb6ddf2f4f6cbe1fd4b0eebf9 /src/core/channel/client_setup.c
parent64f291008acb2cd806e654ef802f8da72601a15d (diff)
Simplify alarm API.
This change removes a corner case that needs to be handled (what happens if you add an alarm twice?). This corner case was never used, nor tested. Change on 2014/12/15 by ctiller <ctiller@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82168179
Diffstat (limited to 'src/core/channel/client_setup.c')
-rw-r--r--src/core/channel/client_setup.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/channel/client_setup.c b/src/core/channel/client_setup.c
index 8060b2a36d..562f284928 100644
--- a/src/core/channel/client_setup.c
+++ b/src/core/channel/client_setup.c
@@ -212,11 +212,11 @@ void grpc_client_setup_request_finish(grpc_client_setup_request *r,
/* TODO(klempner): Replace these values with further consideration. 2x is
probably too aggressive of a backoff. */
gpr_timespec max_backoff = gpr_time_from_minutes(2);
+ gpr_timespec deadline =
+ gpr_time_add(s->current_backoff_interval, gpr_now());
GPR_ASSERT(!s->in_alarm);
s->in_alarm = 1;
- grpc_alarm_init(&s->backoff_alarm, backoff_alarm_done, s);
- grpc_alarm_add(&s->backoff_alarm,
- gpr_time_add(s->current_backoff_interval, gpr_now()));
+ grpc_alarm_init(&s->backoff_alarm, deadline, backoff_alarm_done, s);
s->current_backoff_interval =
gpr_time_add(s->current_backoff_interval, s->current_backoff_interval);
if (gpr_time_cmp(s->current_backoff_interval, max_backoff) > 0) {