diff options
author | Adam <Adam@anope.org> | 2012-12-13 06:12:56 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-12-13 06:12:56 -0500 |
commit | c1077faa281c5635f85b892e605e23bd6c8fcc3b (patch) | |
tree | 213b5f87a19f182e1efd6110f03ff10d5b10ebf6 /src/socketengines | |
parent | 76ba147c22944b67e8522cd2bb7b6e1bae498ced (diff) |
Optimize much of the database code and serialize code.
Diffstat (limited to 'src/socketengines')
-rw-r--r-- | src/socketengines/pipeengine_eventfd.cpp | 39 | ||||
-rw-r--r-- | src/socketengines/pipeengine_pipe.cpp | 62 |
2 files changed, 0 insertions, 101 deletions
diff --git a/src/socketengines/pipeengine_eventfd.cpp b/src/socketengines/pipeengine_eventfd.cpp deleted file mode 100644 index 61fddd0af..000000000 --- a/src/socketengines/pipeengine_eventfd.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* - * - * (C) 2003-2012 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - -#include "services.h" -#include "sockets.h" - -#include <sys/eventfd.h> - -Pipe::Pipe() : Socket(eventfd(0, EFD_NONBLOCK)) -{ - if (this->sock < 0) - throw CoreException("Could not create pipe: " + Anope::LastError()); -} - -Pipe::~Pipe() -{ -} - -bool Pipe::ProcessRead() -{ - eventfd_t dummy; - eventfd_read(this->GetFD(), &dummy); - this->OnNotify(); - return true; -} - -void Pipe::Notify() -{ - eventfd_write(this->GetFD(), 1); -} - diff --git a/src/socketengines/pipeengine_pipe.cpp b/src/socketengines/pipeengine_pipe.cpp deleted file mode 100644 index d56ffef55..000000000 --- a/src/socketengines/pipeengine_pipe.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * (C) 2003-2012 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - -#include "services.h" -#include "sockets.h" -#include "socketengine.h" - -#ifndef _WIN32 -#include <fcntl.h> -#endif - -Pipe::Pipe() : Socket(-1), write_pipe(-1) -{ - int fds[2]; - if (pipe(fds)) - throw CoreException("Could not create pipe: " + Anope::LastError()); - int flags = fcntl(fds[0], F_GETFL, 0); - fcntl(fds[0], F_SETFL, flags | O_NONBLOCK); - flags = fcntl(fds[1], F_GETFL, 0); - fcntl(fds[1], F_SETFL, flags | O_NONBLOCK); - - SocketEngine::Change(this, false, SF_READABLE); - SocketEngine::Change(this, false, SF_WRITABLE); - anope_close(this->sock); - this->io->Destroy(); - SocketEngine::Sockets.erase(this->sock); - - this->sock = fds[0]; - this->write_pipe = fds[1]; - - SocketEngine::Sockets[this->sock] = this; - SocketEngine::Change(this, true, SF_READABLE); -} - -Pipe::~Pipe() -{ - if (this->write_pipe >= 0) - anope_close(this->write_pipe); -} - -bool Pipe::ProcessRead() -{ - char dummy[512]; - while (read(this->GetFD(), dummy, 512) == 512); - this->OnNotify(); - return true; -} - -void Pipe::Notify() -{ - const char dummy = '*'; - write(this->write_pipe, &dummy, 1); -} - |