diff options
author | dscho <dscho> | 2003-07-31 16:48:23 +0000 |
---|---|---|
committer | dscho <dscho> | 2003-07-31 16:48:23 +0000 |
commit | 48029a3a0b854c50ef1b5e0b1cb27ba5f6220d9d (patch) | |
tree | 849e6c47158118d479544dd1cbcc1b4d47199060 /sockets.c | |
parent | ae5142bdbd98f8a196d166331fa193ea20599cd9 (diff) | |
download | libtdevnc-48029a3a0b854c50ef1b5e0b1cb27ba5f6220d9d.tar.gz libtdevnc-48029a3a0b854c50ef1b5e0b1cb27ba5f6220d9d.zip |
rfbLog can be overridden; EINTR on read/write means just try again
Diffstat (limited to 'sockets.c')
-rw-r--r-- | sockets.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -415,6 +415,9 @@ ReadExactTimeout(rfbClientPtr cl, char* buf, int len, int timeout) #ifdef WIN32 errno = WSAGetLastError(); #endif + if (errno == EINTR) + continue; + if (errno != EWOULDBLOCK && errno != EAGAIN) { return n; } @@ -478,6 +481,9 @@ WriteExact(cl, buf, len) #ifdef WIN32 errno = WSAGetLastError(); #endif + if (errno == EINTR) + continue; + if (errno != EWOULDBLOCK && errno != EAGAIN) { UNLOCK(cl->outputMutex); return n; |