diff options
author | Adam <Adam@anope.org> | 2011-05-23 04:41:51 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-05-23 04:41:51 -0400 |
commit | 8bf8832b70dea28e2048d5952ee03247f12bda92 (patch) | |
tree | f76f670690c105ec8f9ca079d868e930fd8f205b /src/sockets.cpp | |
parent | 4dd7e261f5704569856b5854dcc1f68010f0aaad (diff) |
Rewrote the signal handling to use sigaction
Diffstat (limited to 'src/sockets.cpp')
-rw-r--r-- | src/sockets.cpp | 14 |
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(); } |