From 60b653bf35fad97f9b0187922ccea9cfb04f635d Mon Sep 17 00:00:00 2001
From: yang-g <yangg@google.com>
Date: Fri, 24 Jul 2015 14:08:41 -0700
Subject: [PATCH] Use MONOTONIC instead of REALTIME

---
 src/core/client_config/subchannel.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/core/client_config/subchannel.c b/src/core/client_config/subchannel.c
index e9457cad2a..4d75994fdb 100644
--- a/src/core/client_config/subchannel.c
+++ b/src/core/client_config/subchannel.c
@@ -273,7 +273,7 @@ void grpc_subchannel_del_interested_party(grpc_subchannel *c,
 }
 
 static gpr_int32 random_seed() {
-  return gpr_time_to_millis(gpr_now(GPR_CLOCK_REALTIME));
+  return gpr_time_to_millis(gpr_now(GPR_CLOCK_MONOTONIC));
 }
 
 grpc_subchannel *grpc_subchannel_create(grpc_connector *connector,
@@ -608,7 +608,8 @@ static void update_reconnect_parameters(grpc_subchannel *c) {
     backoff_delta_millis = max_backoff_millis;
   }
   c->backoff_delta = gpr_time_from_millis(backoff_delta_millis, GPR_TIMESPAN);
-  c->next_attempt = gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), c->backoff_delta);
+  c->next_attempt =
+      gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), c->backoff_delta);
 
   jitter_range = GRPC_SUBCHANNEL_RECONNECT_JITTER * backoff_delta_millis;
   jitter =
@@ -654,7 +655,7 @@ static gpr_timespec compute_connect_deadline(grpc_subchannel *c) {
   gpr_timespec current_deadline =
       gpr_time_add(c->next_attempt, c->backoff_delta);
   gpr_timespec min_deadline = gpr_time_add(
-      gpr_now(GPR_CLOCK_REALTIME),
+      gpr_now(GPR_CLOCK_MONOTONIC),
       gpr_time_from_seconds(GRPC_SUBCHANNEL_MIN_CONNECT_TIMEOUT_SECONDS,
                             GPR_TIMESPAN));
   return gpr_time_cmp(current_deadline, min_deadline) > 0 ? current_deadline
-- 
GitLab