windows: Properly set errno for read/write functions using Winsock

This commit is contained in:
Martin Willi
2014-11-28 12:45:58 +01:00
parent f1773fee43
commit 02fd29acc1
+4 -4
View File
@@ -651,8 +651,8 @@ ssize_t windows_read(int fd, void *buf, size_t count)
{ {
ssize_t ret; ssize_t ret;
ret = recv(fd, buf, count, 0); ret = wserr(recv(fd, buf, count, 0));
if (ret == -1 && WSAGetLastError() == WSAENOTSOCK) if (ret == -1 && errno == ENOTSOCK)
{ {
ret = read(fd, buf, count); ret = read(fd, buf, count);
} }
@@ -667,8 +667,8 @@ ssize_t windows_write(int fd, void *buf, size_t count)
{ {
ssize_t ret; ssize_t ret;
ret = send(fd, buf, count, 0); ret = wserr(send(fd, buf, count, 0));
if (ret == -1 && WSAGetLastError() == WSAENOTSOCK) if (ret == -1 && errno == ENOTSOCK)
{ {
ret = write(fd, buf, count); ret = write(fd, buf, count);
} }