diff options
| author | 2008-01-16 09:14:23 +0000 | |
|---|---|---|
| committer | 2008-01-16 09:14:23 +0000 | |
| commit | 72fe978b29fa7d9fd7f8e9c2766c06ab1a0a8bc7 (patch) | |
| tree | c870f41d2c416cfb8c298177480c58434a4ee990 /src/users.cpp | |
| parent | Re-add support for silent quits (note: we also remove an O(n) doing it this way) (diff) | |
| download | inspircd++-72fe978b29fa7d9fd7f8e9c2766c06ab1a0a8bc7.tar.gz inspircd++-72fe978b29fa7d9fd7f8e9c2766c06ab1a0a8bc7.tar.bz2 inspircd++-72fe978b29fa7d9fd7f8e9c2766c06ab1a0a8bc7.zip | |
Two stage commit: don't set user->muted except in QuitUser (duplicate setting), also, change muted to drop all socket operations instead of just not reading the user's buffer if muted is set (no point wasting time - they're going away). Also revert culllist back to once per mainloop iteration now it is much cheaper than previously.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8716 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/users.cpp')
| -rw-r--r-- | src/users.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/users.cpp b/src/users.cpp index f2c2d9ae4..538f8d33b 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -785,7 +785,6 @@ void User::FullConnect() if (r) { - this->muted = true; r->Apply(this); return; } @@ -794,7 +793,6 @@ void User::FullConnect() if (n) { - this->muted = true; n->Apply(this); return; } @@ -1702,6 +1700,9 @@ void User::ShowRULES() void User::HandleEvent(EventType et, int errornum) { + if (this->muted) // drop everything, user is due to be quit + return; + /* WARNING: May delete this user! */ int thisfd = this->GetFd(); |
