windows: Properly set errno for read/write functions using Winsock
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user