Browse Source

Don't spam controllers with TOO_MANY_CONNECTIONS events

We implemented ratelimiting for warnings going into the logfile, but didn't
rate-limit controller events. Now both log warnings and controller events
are rate-limited.
Sebastian Hahn 15 years ago
parent
commit
b2b99a70c0
2 changed files with 5 additions and 2 deletions
  1. 3 0
      ChangeLog
  2. 2 2
      src/or/connection.c

+ 3 - 0
ChangeLog

@@ -15,6 +15,9 @@ Changes in version 0.2.2.9-alpha - 2010-??-??
     - Actually reject .exit hostnames when we're supposed to be rejecting
       them; do not pass them on to the exit server.  Bugfix on 0.2.2.7-alpha;
       found and diagnosed by Scott Bennett and Downie on or-talk.
+    - Don't spam the controller with log messages when we have no file
+      descriptors available. Rate-limiting for log messages was already
+      implemented in the past.
 
   o Code simplifications and refactoring:
     - Generate our manpage and HTML documentation using Asciidoc.  This

+ 2 - 2
src/or/connection.c

@@ -822,9 +822,9 @@ warn_too_many_conns(void)
     log_warn(LD_NET,"Failing because we have %d connections already. Please "
              "raise your ulimit -n.", n_conns);
     last_warned = now;
+    control_event_general_status(LOG_WARN, "TOO_MANY_CONNECTIONS CURRENT=%d",
+                                 n_conns);
   }
-  control_event_general_status(LOG_WARN, "TOO_MANY_CONNECTIONS CURRENT=%d",
-                               n_conns);
 }
 
 /** Bind a new non-blocking socket listening to the socket described