Explorar el Código

Stop using approx_time() in circuitmux_ewma.

It doesn't match with the tick-count code any longer.

Bug not in any released Tor.
Nick Mathewson hace 6 años
padre
commit
60fad8d41f
Se han modificado 1 ficheros con 5 adiciones y 1 borrados
  1. 5 1
      src/or/circuitmux_ewma.c

+ 5 - 1
src/or/circuitmux_ewma.c

@@ -250,7 +250,11 @@ static unsigned current_tick_num;
 static inline unsigned int
 cell_ewma_get_tick(void)
 {
-  return ((unsigned)approx_time() / EWMA_TICK_LEN);
+  monotime_coarse_t now;
+  monotime_coarse_get(&now);
+  int32_t msec_diff = monotime_coarse_diff_msec32(&start_of_current_tick,
+                                                  &now);
+  return current_tick_num + msec_diff / (1000*EWMA_TICK_LEN);
 }
 
 /**