aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/ticket260099
-rw-r--r--src/or/main.c6
2 files changed, 14 insertions, 1 deletions
diff --git a/changes/ticket26009 b/changes/ticket26009
new file mode 100644
index 0000000000..51ada15726
--- /dev/null
+++ b/changes/ticket26009
@@ -0,0 +1,9 @@
+ o Minor features (mainloop):
+ - Move responsibility for
+ keeping track of Tor's uptime
+ from a nce-per-second callback to a callback that is only scheduled as
+ needed. Once enough items are removed from our once-per-second
+ callback, we can eliminate it entirely to conserve CPU when idle.
+ Closes ticket
+ 26009.
+
diff --git a/src/or/main.c b/src/or/main.c
index e82162c399..b6035fa765 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -2576,8 +2576,12 @@ second_elapsed_callback(periodic_timer_t *timer, void *arg)
n_libevent_errors = 0;
- /* log_notice(LD_GENERAL, "Tick."); */
now = time(NULL);
+
+ /* We don't need to do this once-per-second any more: time-updating is
+ * only in this callback _because it is a callback_. It should be fine
+ * to disable this callback, and the time will still get updated.
+ */
update_current_time(now);
/* the second has rolled over. check more stuff. */