aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--src/or/onion.c16
2 files changed, 14 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f2d282fda4..5eb74f7efb 100644
--- a/ChangeLog
+++ b/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
diff --git a/src/or/onion.c b/src/or/onion.c
index 58a51aedfe..f8913cd23b 100644
--- a/src/or/onion.c
+++ b/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;
}