summaryrefslogtreecommitdiff
path: root/src/Socket.cc
diff options
context:
space:
mode:
authorNicolas "Pixel" Noble <pixel@nobis-crew.org>2014-06-01 20:20:22 -0700
committerNicolas "Pixel" Noble <pixel@nobis-crew.org>2014-06-01 20:20:22 -0700
commit70d4af9cacce787fc33a1af7c3c884bb0d282b65 (patch)
treecefc880e856532324134f10c6db2472914a2e70c /src/Socket.cc
parent4ebd41591d89771a61f2b0ef4aa53cc228125e59 (diff)
Fixing WSAECONNABORTED error, adding cookies support, fixing variables parsing.
Diffstat (limited to 'src/Socket.cc')
-rw-r--r--src/Socket.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Socket.cc b/src/Socket.cc
index e1778be..7f91e7b 100644
--- a/src/Socket.cc
+++ b/src/Socket.cc
@@ -548,7 +548,15 @@ ssize_t Balau::Socket::write(const void * buf, size_t count) throw (GeneralExcep
}
ssize_t Balau::Socket::recv(int sockfd, void *buf, size_t len, int flags) {
- return ::recv(sockfd, (char *) buf, len, flags);
+ ssize_t r = ::recv(sockfd, (char *) buf, len, flags);
+ if (r < 0) {
+#ifdef _WIN32
+ int err = WSAGetLastError();
+ if (err == WSAECONNABORTED)
+ return 0;
+#endif
+ }
+ return r;
}
ssize_t Balau::Socket::send(int sockfd, const void *buf, size_t len, int flags) {