diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2014-06-01 20:20:22 -0700 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2014-06-01 20:20:22 -0700 |
commit | 70d4af9cacce787fc33a1af7c3c884bb0d282b65 (patch) | |
tree | cefc880e856532324134f10c6db2472914a2e70c /src/Socket.cc | |
parent | 4ebd41591d89771a61f2b0ef4aa53cc228125e59 (diff) |
Fixing WSAECONNABORTED error, adding cookies support, fixing variables parsing.
Diffstat (limited to 'src/Socket.cc')
-rw-r--r-- | src/Socket.cc | 10 |
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) { |