summaryrefslogtreecommitdiff
path: root/src/socketengines/socketengine_eventfd.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-01-07 15:57:13 -0500
committerAdam <Adam@anope.org>2011-01-07 15:57:13 -0500
commit44038491264a350a8849e1d7e8547bbdec134d74 (patch)
tree08b3b18d0ff4a4d814e638a882916c07882e16de /src/socketengines/socketengine_eventfd.cpp
parent9efebe5461fd5985190380d11fd8c3c7a5fba9d6 (diff)
Added db_mysql_live which allows Anope to pull data
from the four main SQL tables in realtime, which effectively gives us "live" SQL. Changed eventfd pipe engine to not use buffered write. Added TryLock to threading engines. Made blocking SQL queries in our SQL API thread-safe.
Diffstat (limited to 'src/socketengines/socketengine_eventfd.cpp')
-rw-r--r--src/socketengines/socketengine_eventfd.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/socketengines/socketengine_eventfd.cpp b/src/socketengines/socketengine_eventfd.cpp
index 4e4016326..9e9ec677b 100644
--- a/src/socketengines/socketengine_eventfd.cpp
+++ b/src/socketengines/socketengine_eventfd.cpp
@@ -53,7 +53,12 @@ bool Pipe::Read(const Anope::string &)
void Pipe::Notify()
{
- this->Write("*");
+ /* Note we send this immediatly. If use use Socket::Write and if this functions is called
+ * from a thread, only epoll is able to pick up the change to this sockets want flags immediately
+ * Other engines time out then pick up and write the change then read it back, which
+ * is too slow for most things.
+ */
+ this->IO->Send(this, "");
}
void Pipe::OnNotify()