diff options
author | Attila Molnar <attilamolnar@hush.com> | 2015-03-04 20:21:45 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2015-03-04 20:21:45 +0100 |
commit | 08ea4d3e2a6f438d80a56ba5961f7afa6dddcd42 (patch) | |
tree | fc47668dddfcd4d02fafb1174a3d5a025066ec58 | |
parent | e0e1becc2f9129203966e69b2919582c11ab86f7 (diff) |
Remove DISABLE_WRITEV and StreamSocket code for platforms lacking writev() support
-rw-r--r-- | src/inspsocket.cpp | 39 | ||||
-rw-r--r-- | win/inspircd_win32wrapper.h | 2 |
2 files changed, 1 insertions, 40 deletions
diff --git a/src/inspsocket.cpp b/src/inspsocket.cpp index db005b1a1..c9f8252f0 100644 --- a/src/inspsocket.cpp +++ b/src/inspsocket.cpp @@ -217,9 +217,7 @@ void StreamSocket::DoWrite() return; } -#ifndef DISABLE_WRITEV if (GetIOHook()) -#endif { int rv = -1; try @@ -246,7 +244,7 @@ void StreamSocket::DoWrite() } std::string& front = sendq.front(); int itemlen = front.length(); - if (GetIOHook()) + { rv = GetIOHook()->OnStreamSocketWrite(this, front); if (rv > 0) @@ -270,39 +268,6 @@ void StreamSocket::DoWrite() return; } } -#ifdef DISABLE_WRITEV - else - { - rv = SocketEngine::Send(this, front.data(), itemlen, 0); - if (rv == 0) - { - SetError("Connection closed"); - return; - } - else if (rv < 0) - { - if (errno == EINTR || SocketEngine::IgnoreError()) - SocketEngine::ChangeEventMask(this, FD_WANT_FAST_WRITE | FD_WRITE_WILL_BLOCK); - else - SetError(SocketEngine::LastError()); - return; - } - else if (rv < itemlen) - { - SocketEngine::ChangeEventMask(this, FD_WANT_FAST_WRITE | FD_WRITE_WILL_BLOCK); - front.erase(0, rv); - sendq_len -= rv; - return; - } - else - { - sendq_len -= itemlen; - sendq.pop_front(); - if (sendq.empty()) - SocketEngine::ChangeEventMask(this, FD_WANT_EDGE_WRITE); - } - } -#endif } } catch (CoreException& modexcept) @@ -311,7 +276,6 @@ void StreamSocket::DoWrite() modexcept.GetSource().c_str(), modexcept.GetReason().c_str()); } } -#ifndef DISABLE_WRITEV else { // don't even try if we are known to be blocking @@ -404,7 +368,6 @@ void StreamSocket::DoWrite() SocketEngine::ChangeEventMask(this, eventChange); } } -#endif } void StreamSocket::WriteData(const std::string &data) diff --git a/win/inspircd_win32wrapper.h b/win/inspircd_win32wrapper.h index 013d4d154..2218d9300 100644 --- a/win/inspircd_win32wrapper.h +++ b/win/inspircd_win32wrapper.h @@ -199,8 +199,6 @@ CoreExport void closedir(DIR * handle); void * ::operator new(size_t iSize); void ::operator delete(void * ptr); -#define DISABLE_WRITEV - #include <exception> class CWin32Exception : public std::exception |