Procházet zdrojové kódy

Fix bug 1042.

If your relay can't keep up with the number of incoming create cells, it
would log one warning per failure into your logs. Limit warnings to 1 per
minute.
Karsten Loesing před 16 roky
rodič
revize
19ddee5582
2 změnil soubory, kde provedl 14 přidání a 5 odebrání
  1. 3 0
      ChangeLog
  2. 11 5
      src/or/onion.c

+ 3 - 0
ChangeLog

@@ -37,6 +37,9 @@ Changes in version 0.2.2.6-alpha - 2009-10-??
       nobody will vote about "Running", and clients will get a consensus
       with no usable relays. Instead, authorities refuse to build a
       consensus if this happens. Bugfix on 0.2.0.10-alpha; fixes bug 1066.
+    - If your relay can't keep up with the number of incoming create
+      cells, it would log one warning per failure into your logs. Limit
+      warnings to 1 per minute. Bugfix on 0.0.2pre10; fixes bug 1042.
 
 
 Changes in version 0.2.2.5-alpha - 2009-10-11

+ 11 - 5
src/or/onion.c

@@ -58,11 +58,17 @@ onion_pending_add(or_circuit_t *circ, char *onionskin)
   tor_assert(!ol_tail->next);
 
   if (ol_length >= get_options()->MaxOnionsPending) {
-    log_warn(LD_GENERAL,
-             "Your computer is too slow to handle this many circuit "
-             "creation requests! Please consider using the "
-             "MaxAdvertisedBandwidth config option or choosing a more "
-             "restricted exit policy.");
+#define WARN_TOO_MANY_CIRC_CREATIONS_INTERVAL (60)
+    static time_t last_warned = 0;
+    time_t now = time(NULL);
+    if (last_warned + WARN_TOO_MANY_CIRC_CREATIONS_INTERVAL < now) {
+      log_warn(LD_GENERAL,
+               "Your computer is too slow to handle this many circuit "
+               "creation requests! Please consider using the "
+               "MaxAdvertisedBandwidth config option or choosing a more "
+               "restricted exit policy.");
+      last_warned = now;
+    }
     tor_free(tmp);
     return -1;
   }