summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-10-30 18:59:04 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-10-30 18:59:04 +0000
commit46513e8bd2810d266572f0e0ab47a9d4d27e806b (patch)
treee2cf7a230c4161f7e1a8f7db0402430ae82f2fc8
parent2c1dd9be2be86546e6dc1231b5df80af1ec1b23a (diff)
For users, we now only write when the socketengine says theyre writeable, setting WantWrite after we call userrec::Write().
The old way was to always try and flush the buffer after every read, regardless of wether the socket was writeable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5584 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/userprocess.cpp9
-rw-r--r--src/users.cpp1
2 files changed, 1 insertions, 9 deletions
diff --git a/src/userprocess.cpp b/src/userprocess.cpp
index 327cd88f3..5ae0812c1 100644
--- a/src/userprocess.cpp
+++ b/src/userprocess.cpp
@@ -201,15 +201,6 @@ void InspIRCd::ProcessUser(userrec* cu)
* table, life is much easier (and FASTER)
*/
EventHandler* new_comp = this->SE->GetRef(currfd);
- if (old_comp != new_comp)
- {
- return;
- }
- else
- {
- /* The user is still here, flush their buffer */
- current->FlushWriteBuf();
- }
}
return;
diff --git a/src/users.cpp b/src/users.cpp
index 4b7e38f3c..3c882f867 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -1430,6 +1430,7 @@ void userrec::Write(std::string text)
this->AddWriteBuf(text);
}
ServerInstance->stats->statsSent += text.length();
+ this->ServerInstance->SE->WantWrite(this);
}
/** Write()