Fix: [Network] errno and strerror do not handle network errors on Windows

This commit is contained in:
rubidium42
2021-04-27 10:50:28 +02:00
committed by Charles Pigott
parent 21b196d5c4
commit bf07420916
7 changed files with 54 additions and 18 deletions

View File

@@ -105,7 +105,7 @@ SendPacketsState NetworkTCPSocketHandler::SendPackets(bool closing_down)
while (p != nullptr) {
res = send(this->sock, (const char*)p->buffer + p->pos, p->size - p->pos, 0);
if (res == -1) {
int err = GET_LAST_ERROR();
int err = NetworkGetLastError();
if (err != EWOULDBLOCK) {
/* Something went wrong.. close client! */
if (!closing_down) {
@@ -160,7 +160,7 @@ Packet *NetworkTCPSocketHandler::ReceivePacket()
/* Read the size of the packet */
res = recv(this->sock, (char*)p->buffer + p->pos, sizeof(PacketSize) - p->pos, 0);
if (res == -1) {
int err = GET_LAST_ERROR();
int err = NetworkGetLastError();
if (err != EWOULDBLOCK) {
/* Something went wrong... (104 is connection reset by peer) */
if (err != 104) DEBUG(net, 0, "recv failed with error %d", err);
@@ -191,7 +191,7 @@ Packet *NetworkTCPSocketHandler::ReceivePacket()
while (p->pos < p->size) {
res = recv(this->sock, (char*)p->buffer + p->pos, p->size - p->pos, 0);
if (res == -1) {
int err = GET_LAST_ERROR();
int err = NetworkGetLastError();
if (err != EWOULDBLOCK) {
/* Something went wrong... (104 is connection reset by peer) */
if (err != 104) DEBUG(net, 0, "recv failed with error %d", err);