diff options
-rw-r--r-- | src/userprocess.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/userprocess.cpp b/src/userprocess.cpp index b65d566f8..41c5ae4cd 100644 --- a/src/userprocess.cpp +++ b/src/userprocess.cpp @@ -162,19 +162,16 @@ void InspIRCd::DoBackgroundUserStuff() { User *curr = *count2; - if (curr->OverPenalty) - { - Log(DEBUG,"Process line over penalty for %s", curr->nick); - Parser->DoLines(curr, true); - } - - /* Knock a second off */ if (curr->Penalty) - { - Log(DEBUG,"Penalty for %s decremented to %d", curr->nick, curr->Penalty); curr->Penalty--; - if (!curr->Penalty) + + if (curr->OverPenalty) + { + if (curr->sendq.empty()) curr->OverPenalty = false; + + if (curr->Penalty < 10) + Parser->DoLines(curr, true); } if ((curr->registered != REG_ALL) && (TIME > curr->timeout)) |