summaryrefslogtreecommitdiffstats
path: root/libvncserver/sockets.c
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2011-03-03 16:11:38 +0100
committerChristian Beier <dontmind@freeshell.org>2011-03-03 16:11:38 +0100
commitcf72a0f7c35ee791d5b4a81ef799d006e1b16bda (patch)
tree2d4029c928a844b9b8c335c3b6c0730053f1e694 /libvncserver/sockets.c
parentf5b96e57bfaa05d21efc98f892a1b2b109b17253 (diff)
downloadlibtdevnc-cf72a0f7c35ee791d5b4a81ef799d006e1b16bda.tar.gz
libtdevnc-cf72a0f7c35ee791d5b4a81ef799d006e1b16bda.zip
Call WSAGetLastError() everywhere errno is read after a Winsock call.
Winsock does NOT update errno for us, we have fetch the last error manually using WSAGetLastError().
Diffstat (limited to 'libvncserver/sockets.c')
-rwxr-xr-xlibvncserver/sockets.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c
index 48d024c..e1c5a7f 100755
--- a/libvncserver/sockets.c
+++ b/libvncserver/sockets.c
@@ -567,6 +567,9 @@ rfbWriteExact(rfbClientPtr cl,
tv.tv_usec = 0;
n = select(sock+1, NULL, &fds, NULL /* &fds */, &tv);
if (n < 0) {
+#ifdef WIN32
+ errno=WSAGetLastError();
+#endif
if(errno==EINTR)
continue;
rfbLogPerror("WriteExact: select");