summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2015-03-04 20:21:45 +0100
committerAttila Molnar <attilamolnar@hush.com>2015-03-04 20:21:45 +0100
commit08ea4d3e2a6f438d80a56ba5961f7afa6dddcd42 (patch)
treefc47668dddfcd4d02fafb1174a3d5a025066ec58
parente0e1becc2f9129203966e69b2919582c11ab86f7 (diff)
Remove DISABLE_WRITEV and StreamSocket code for platforms lacking writev() support
-rw-r--r--src/inspsocket.cpp39
-rw-r--r--win/inspircd_win32wrapper.h2
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