summaryrefslogtreecommitdiffstats
path: root/win32
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-09-18 04:48:51 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-09-18 04:48:51 +0000
commitc1649025fe7603fb7f3bd0a13ec1caba1bb2dee9 (patch)
tree988114e2435a507f4b00c7bd568adeed7c587243 /win32
parent5041940a8033e7ce15fc36e06b1f69f998f0e3bb (diff)
downloadruby-c1649025fe7603fb7f3bd0a13ec1caba1bb2dee9.tar.gz
ruby-c1649025fe7603fb7f3bd0a13ec1caba1bb2dee9.tar.xz
ruby-c1649025fe7603fb7f3bd0a13ec1caba1bb2dee9.zip
990918-repack
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r--win32/win32.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/win32/win32.c b/win32/win32.c
index fd70242e9..beb9545af 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -1828,8 +1828,17 @@ myselect (int nfds, fd_set *rd, fd_set *wr, fd_set *ex,
if (!NtSocketsInitialized++) {
StartSockets();
}
- if ((r = select (nfds, rd, wr, ex, timeout)) == SOCKET_ERROR)
+ if ((r = select (nfds, rd, wr, ex, timeout)) == SOCKET_ERROR) {
errno = WSAGetLastError();
+ switch (errno) {
+ case WSAEINTR:
+ errno = EINTR;
+ break;
+ case WSAENOTSOCK:
+ errno = EBADF;
+ break;
+ }
+ }
return r;
}