From 1b06e2b55398d02255e4ea7e6271bafa46b73200 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 23 Aug 2016 11:31:01 +0200 Subject: [PATCH] Handle EAGAIN and EINPROGRESS where appropriate as well as EWOULDBLOCK --- renderdoc/os/posix/posix_network.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/renderdoc/os/posix/posix_network.cpp b/renderdoc/os/posix/posix_network.cpp index 492ab3152..25df8198a 100644 --- a/renderdoc/os/posix/posix_network.cpp +++ b/renderdoc/os/posix/posix_network.cpp @@ -98,7 +98,7 @@ Socket *Socket::AcceptClient(bool wait) int err = errno; - if(err != EWOULDBLOCK) + if(err != EWOULDBLOCK && err != EAGAIN) { RDCWARN("accept: %d", err); Shutdown(); @@ -130,7 +130,7 @@ bool Socket::SendDataBlocking(const void *buf, uint32_t length) { int err = errno; - if(err == EWOULDBLOCK) + if(err == EWOULDBLOCK || err == EAGAIN) { ret = 0; } @@ -168,7 +168,7 @@ bool Socket::IsRecvDataWaiting() { int err = errno; - if(err == EWOULDBLOCK) + if(err == EWOULDBLOCK || err == EAGAIN) { ret = 0; } @@ -208,7 +208,7 @@ bool Socket::RecvDataBlocking(void *buf, uint32_t length) { int err = errno; - if(err == EWOULDBLOCK) + if(err == EWOULDBLOCK || err == EAGAIN) { ret = 0; } @@ -306,7 +306,7 @@ Socket *CreateClientSocket(const char *host, uint16_t port, int timeoutMS) int err = errno; - if(err == EWOULDBLOCK) + if(err == EWOULDBLOCK || err == EINPROGRESS) { timeval timeout; timeout.tv_sec = (timeoutMS / 1000);