Browse Source

Merge branch 'maint-0.3.2'

Nick Mathewson 6 years ago
parent
commit
70b19894ae
2 changed files with 11 additions and 2 deletions
  1. 5 0
      changes/bug23696
  2. 6 2
      src/or/scheduler_kist.c

+ 5 - 0
changes/bug23696

@@ -0,0 +1,5 @@
+  o Minor bugfix (KIST scheduler):
+    - Downgrade a warning to log info when the monotonic time diff is
+      negative. This can happen on platform not supporting monotonic time. The
+      scheduler recovers from this without any problem. Fixes ticket 23969;
+      bugfix on 0.3.2.1-alpha.

+ 6 - 2
src/or/scheduler_kist.c

@@ -525,9 +525,13 @@ kist_scheduler_schedule(void)
   monotime_get(&now);
 
   /* If time is really monotonic, we can never have now being smaller than the
-   * last scheduler run. The scheduler_last_run at first is set to 0. */
+   * last scheduler run. The scheduler_last_run at first is set to 0.
+   * Unfortunately, not all platforms guarantee monotonic time so we log at
+   * info level but don't make it more noisy. */
   diff = monotime_diff_msec(&scheduler_last_run, &now);
-  IF_BUG_ONCE(diff < 0) {
+  if (diff < 0) {
+    log_info(LD_SCHED, "Monotonic time between now and last run of scheduler "
+                       "is negative: %" PRId64 ". Setting diff to 0.", diff);
     diff = 0;
   }
   if (diff < sched_run_interval) {