From d521c5141cb15e462527c0247f5137f3cc3b823a Mon Sep 17 00:00:00 2001
From: dms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Date: Sat, 23 Sep 2000 12:30:47 +0000
Subject: [PATCH] repeat throttling added

git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@128 c11ca15a-4712-0410-83d8-924469b57eb5
---
 src/logger.pl | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/logger.pl b/src/logger.pl
index 2f9f945..11e2434 100644
--- a/src/logger.pl
+++ b/src/logger.pl
@@ -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).").");
-- 
2.39.5