]> git.donarmstrong.com Git - infobot.git/commitdiff
repeat throttling added
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sat, 23 Sep 2000 12:30:47 +0000 (12:30 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sat, 23 Sep 2000 12:30:47 +0000 (12:30 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@128 c11ca15a-4712-0410-83d8-924469b57eb5

src/logger.pl

index 2f9f945429517a669528198076ec505ede10fef0..11e2434ac6051aadb2e2d0be32270645d3f1e064 100644 (file)
@@ -1,15 +1,15 @@
 #
 # logger.pl: logger functions!
 #    Author: dms
-#   Version: v0.3 (20000731)
+#   Version: v0.4 (20000923)
 #  FVersion: 19991205
 #      NOTE: Based on code by Kevin Lenzo & Patrick Cole  (c) 1997
 #
 
 use strict;
 
-use vars qw($logDate $statcount $bot_pid $forkedtime
-           $statcountfix $addressed $logcount $logtime);
+use vars qw($statcount $bot_pid $forkedtime $statcountfix $addressed);
+use vars qw($logDate $logold $logcount $logtime $logrepeat);
 use vars qw(@backlog);
 use vars qw(%param %file);
 
@@ -17,6 +17,8 @@ require 5.001;
 
 $logtime       = time();
 $logcount      = 0;
+$logrepeat     = 0;
+$logold                = "";
 
 my %attributes = (
        'clear'      => 0,
@@ -186,6 +188,17 @@ sub status {
     my($input) = @_;
     my $status;
 
+    if ($input eq $logold) {
+       $logrepeat++;
+
+       if ($logrepeat >= 3) {
+           &status("LOG: repeat throttle.");
+           sleep 1;
+           $logrepeat = 0;
+       }
+    }
+    $logold = $input;
+
     # if it's not a scalar, attempt to warn and fix.
     if (ref($input) ne "") {
        &status("status: 'input' is not scalar (".ref($input).").");