aboutsummaryrefslogtreecommitdiffstats
path: root/sockets.c
diff options
context:
space:
mode:
Diffstat (limited to 'sockets.c')
-rw-r--r--sockets.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sockets.c b/sockets.c
index 87ee567..2e61d9a 100644
--- a/sockets.c
+++ b/sockets.c
@@ -50,7 +50,10 @@
do { _ret = (_cmd); } while ( _ret < 0 && WSAGetLastError() == WSAEINTR )
#else
# define QSOCKET_CALL(_ret,_cmd) \
- do { _ret = (_cmd); } while ( _ret < 0 && errno == EINTR )
+ do { \
+ errno = 0; \
+ do { _ret = (_cmd); } while ( _ret < 0 && errno == EINTR ); \
+ } while (0);
#endif
#ifdef _WIN32