summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel De Graaf <danieldg@inspircd.org>2010-09-05 17:01:49 -0400
committerDaniel De Graaf <danieldg@inspircd.org>2010-09-05 17:03:07 -0400
commit6010e6b53c8f0b89718f8c883f701dcf70246660 (patch)
treeb6c3850fb3d54368c7db75449e3cccfc075781df
parent30e87ec34d4a44b7efc541de765d5d3a0d146074 (diff)
Fix the pseudo-penalty hack that doesn't work properly
-rw-r--r--src/userprocess.cpp2
-rw-r--r--src/users.cpp3
2 files changed, 1 insertions, 4 deletions
diff --git a/src/userprocess.cpp b/src/userprocess.cpp
index ee9c75bc0..2792a28dc 100644
--- a/src/userprocess.cpp
+++ b/src/userprocess.cpp
@@ -55,7 +55,7 @@ void InspIRCd::DoBackgroundUserStuff()
if (curr->quitting)
continue;
- if (curr->CommandFloodPenalty)
+ if (curr->CommandFloodPenalty || curr->eh.getSendQSize())
{
unsigned int rate = curr->MyClass->GetCommandRate();
if (curr->CommandFloodPenalty > rate)
diff --git a/src/users.cpp b/src/users.cpp
index 2bd96ac90..5ff890fd7 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -513,9 +513,6 @@ eol_found:
if (user->quitting)
return;
}
- // Add pseudo-penalty so that we continue processing after sendq recedes
- if (user->CommandFloodPenalty == 0 && getSendQSize() >= sendqmax)
- user->CommandFloodPenalty++;
if (user->CommandFloodPenalty >= penaltymax && !user->MyClass->fakelag)
ServerInstance->Users->QuitUser(user, "Excess Flood");
}