]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
When hibernating, don't heartbeat about problems.
authorNick Mathewson <nickm@torproject.org>
Tue, 12 Mar 2013 00:50:02 +0000 (20:50 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 12 Mar 2013 00:50:02 +0000 (20:50 -0400)
Fixes part of 7302.

changes/bug7302 [new file with mode: 0644]
src/or/status.c

diff --git a/changes/bug7302 b/changes/bug7302
new file mode 100644 (file)
index 0000000..2949e40
--- /dev/null
@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Don't log inappropriate heartbeat messages when hibernating: a
+      hibernating node is _expected_ to drop out of the consensus,
+      decide it isn't bootstrapped, and so forth.  Fixes part of bug
+      #7302; bugfix on 0.2.3.1-alpha.
index 126167dcb97bb590b3e554f6bef95f280ec84804..6a43fc4d89c035bb2f3110b86b430befe2776285 100644 (file)
@@ -14,6 +14,7 @@
 #include "router.h"
 #include "circuitlist.h"
 #include "main.h"
+#include "hibernate.h"
 
 /** Return the total number of circuits. */
 static int
@@ -85,11 +86,12 @@ log_heartbeat(time_t now)
   char *bw_rcvd = NULL;
   char *uptime = NULL;
   const routerinfo_t *me;
+  const int hibernating = we_are_hibernating();
 
   const or_options_t *options = get_options();
   (void)now;
 
-  if (public_server_mode(options)) {
+  if (public_server_mode(options) && !hibernating) {
     /* Let's check if we are in the current cached consensus. */
     if (!(me = router_get_my_routerinfo()))
       return -1; /* Something stinks, we won't even attempt this. */
@@ -104,10 +106,11 @@ log_heartbeat(time_t now)
   bw_sent = bytes_to_usage(get_bytes_written());
 
   log_fn(LOG_NOTICE, LD_HEARTBEAT, "Heartbeat: Tor's uptime is %s, with %d "
-         "circuits open. I've sent %s and received %s.",
-         uptime, count_circuits(),bw_sent,bw_rcvd);
+         "circuits open. I've sent %s and received %s.%s",
+         uptime, count_circuits(),bw_sent,bw_rcvd,
+         hibernating?" We are currently hibernating.":"");
 
-  if (stats_n_data_cells_packaged)
+  if (stats_n_data_cells_packaged && !hibernating)
     log_notice(LD_HEARTBEAT, "Average packaged cell fullness: %2.3f%%",
         100*(U64_TO_DBL(stats_n_data_bytes_packaged) /
              U64_TO_DBL(stats_n_data_cells_packaged*RELAY_PAYLOAD_SIZE)) );