소스 검색

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 16 년 전
부모
커밋
19ddee5582
2개의 변경된 파일14개의 추가작업 그리고 5개의 파일을 삭제
  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;
   }