summaryrefslogtreecommitdiff
path: root/src/sockets.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-05-23 04:41:51 -0400
committerAdam <Adam@anope.org>2011-05-23 04:41:51 -0400
commit8bf8832b70dea28e2048d5952ee03247f12bda92 (patch)
treef76f670690c105ec8f9ca079d868e930fd8f205b /src/sockets.cpp
parent4dd7e261f5704569856b5854dcc1f68010f0aaad (diff)
Rewrote the signal handling to use sigaction
Diffstat (limited to 'src/sockets.cpp')
-rw-r--r--src/sockets.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/sockets.cpp b/src/sockets.cpp
index c9758cb12..f255a4edf 100644
--- a/src/sockets.cpp
+++ b/src/sockets.cpp
@@ -467,11 +467,15 @@ bool BufferedSocket::ProcessRead()
{
char tbuffer[NET_BUFSIZE] = "";
- RecvLen = this->IO->Recv(this, tbuffer, sizeof(tbuffer) - 1);
- if (RecvLen == -2)
+ this->RecvLen = 0;
+
+ int len = this->IO->Recv(this, tbuffer, sizeof(tbuffer) - 1);
+ if (len == -2)
return true;
- else if (RecvLen <= 0)
+ else if (len <= 0)
return false;
+
+ this->RecvLen = len;
Anope::string sbuffer = this->extrabuf;
sbuffer += tbuffer;
@@ -559,7 +563,7 @@ void BufferedSocket::Write(const Anope::string &message)
/** Get the length of the read buffer
* @return The length of the read buffer
*/
-size_t BufferedSocket::ReadBufferLen() const
+int BufferedSocket::ReadBufferLen() const
{
return RecvLen;
}
@@ -567,7 +571,7 @@ size_t BufferedSocket::ReadBufferLen() const
/** Get the length of the write buffer
* @return The length of the write buffer
*/
-size_t BufferedSocket::WriteBufferLen() const
+int BufferedSocket::WriteBufferLen() const
{
return this->WriteBuffer.length();
}