[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] refactor: using get_uptime() (and reset_uptime()) consistently.



commit a4c85312604c1d215f9f46a24ac242baf666ed56
Author: Caio Valente <valentecaio95@xxxxxxxxx>
Date:   Wed Jan 31 02:36:38 2018 +0100

    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
---
 src/or/dirserv.c   |  2 +-
 src/or/hibernate.c |  2 +-
 src/or/main.c      | 19 +++++++++++++------
 src/or/main.h      |  2 +-
 src/or/router.c    |  2 +-
 5 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index d3bae241f..5f778322b 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -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));
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index 4dc35f68d..7261cf800 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -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. */
diff --git a/src/or/main.c b/src/or/main.c
index 96c7e77c7..7b88686fd 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -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.
  */
diff --git a/src/or/main.h b/src/or/main.h
index c49d216f4..f01506fce 100644
--- a/src/or/main.h
+++ b/src/or/main.h
@@ -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;
diff --git a/src/or/router.c b/src/or/router.c
index 9c053cad4..ddfc187e9 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -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,



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits