Commit a4c85312 authored by Caio Valente's avatar Caio Valente
Browse files

refactor: using get_uptime() (and reset_uptime()) consistently.

Using get_uptime() and reset_uptime() instead of
accessing stats_n_seconds_working directly.

stats_n_seconds_working is not extern anymore.

Ticket #25081
parent d2ae1bfc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1417,7 +1417,7 @@ dirserv_thinks_router_is_hs_dir(const routerinfo_t *router,
   * tests aren't instant. If we haven't been running long enough,
   * trust the relay. */

  if (stats_n_seconds_working >
  if (get_uptime() >
      get_options()->MinUptimeHidServDirectoryV2 * 1.1)
    uptime = MIN(rep_hist_get_uptime(router->cache_info.identity_digest, now),
                 real_uptime(router, now));
+1 −1
Original line number Diff line number Diff line
@@ -866,7 +866,7 @@ hibernate_end(hibernate_state_t new_state)

  hibernate_state = new_state;
  hibernate_end_time = 0; /* no longer hibernating */
  stats_n_seconds_working = 0; /* reset published uptime */
  reset_uptime(); /* reset published uptime */
}

/** A wrapper around hibernate_begin, for when we get SIGINT. */
+13 −6
Original line number Diff line number Diff line
@@ -1094,7 +1094,7 @@ directory_all_unreachable(time_t now)
{
  (void)now;

  stats_n_seconds_working=0; /* reset it */
  reset_uptime(); /* reset it */

  if (!directory_all_unreachable_cb_event) {
    directory_all_unreachable_cb_event =
@@ -2062,7 +2062,7 @@ check_for_reachability_bw_callback(time_t now, const or_options_t *options)
  if (server_mode(options) &&
      (have_completed_a_circuit() || !any_predicted_circuits(now)) &&
      !net_is_disabled()) {
    if (stats_n_seconds_working < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) {
    if (get_uptime() < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) {
      consider_testing_reachability(1, dirport_reachability_count==0);
      if (++dirport_reachability_count > 5)
        dirport_reachability_count = 0;
@@ -2319,8 +2319,8 @@ second_elapsed_callback(periodic_timer_t *timer, void *arg)
      !net_is_disabled() &&
      seconds_elapsed > 0 &&
      have_completed_a_circuit() &&
      stats_n_seconds_working / TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT !=
      (stats_n_seconds_working+seconds_elapsed) /
      get_uptime() / TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT !=
      (get_uptime()+seconds_elapsed) /
        TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) {
    /* every 20 minutes, check and complain if necessary */
    const routerinfo_t *me = router_get_my_routerinfo();
@@ -2464,9 +2464,9 @@ ip_address_changed(int at_interface)
    }
  } else {
    if (server) {
      if (stats_n_seconds_working > UPTIME_CUTOFF_FOR_NEW_BANDWIDTH_TEST)
      if (get_uptime() > UPTIME_CUTOFF_FOR_NEW_BANDWIDTH_TEST)
        reset_bandwidth_test();
      stats_n_seconds_working = 0;
      reset_uptime();
      router_reset_reachability();
    }
  }
@@ -3004,6 +3004,13 @@ get_uptime,(void))
  return stats_n_seconds_working;
}

/** Reset Tor's uptime. */
MOCK_IMPL(void,
reset_uptime,(void))
{
  stats_n_seconds_working = 0;
}

/**
 * Write current memory usage information to the log.
 */
+1 −1
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ void reschedule_descriptor_update_check(void);
void reschedule_directory_downloads(void);

MOCK_DECL(long,get_uptime,(void));
MOCK_DECL(void,reset_uptime,(void));

unsigned get_signewnym_epoch(void);

@@ -87,7 +88,6 @@ uint64_t get_main_loop_error_count(void);
uint64_t get_main_loop_idle_count(void);

extern time_t time_of_process_start;
extern long stats_n_seconds_working;
extern int quiet_level;
extern int global_read_bucket;
extern int global_write_bucket;
+1 −1
Original line number Diff line number Diff line
@@ -2922,7 +2922,7 @@ router_dump_router_to_string(routerinfo_t *router,
    proto_line,
    published,
    fingerprint,
    stats_n_seconds_working,
    get_uptime(),
    (int) router->bandwidthrate,
    (int) router->bandwidthburst,
    (int) router->bandwidthcapacity,