diff options
Diffstat (limited to 'lib/cpp/src/thrift/windows')
-rw-r--r-- | lib/cpp/src/thrift/windows/WinFcntl.cpp | 51 | ||||
-rw-r--r-- | lib/cpp/src/thrift/windows/WinFcntl.h | 9 |
2 files changed, 0 insertions, 60 deletions
diff --git a/lib/cpp/src/thrift/windows/WinFcntl.cpp b/lib/cpp/src/thrift/windows/WinFcntl.cpp index 292ddfca0..cec2f6745 100644 --- a/lib/cpp/src/thrift/windows/WinFcntl.cpp +++ b/lib/cpp/src/thrift/windows/WinFcntl.cpp @@ -42,57 +42,6 @@ int thrift_fcntl(THRIFT_SOCKET fd, int cmd, int flags) { return res; } -#if WINVER <= 0x0502 // XP, Server2003 -int thrift_poll(THRIFT_POLLFD* fdArray, ULONG nfds, INT timeout) { - fd_set read_fds, write_fds; - fd_set* read_fds_ptr = nullptr; - fd_set* write_fds_ptr = nullptr; - - FD_ZERO(&read_fds); - FD_ZERO(&write_fds); - - for (ULONG i = 0; i < nfds; i++) { - // Read (in) socket - if ((fdArray[i].events & THRIFT_POLLIN) == THRIFT_POLLIN) { - read_fds_ptr = &read_fds; - FD_SET(fdArray[i].fd, &read_fds); - } - // Write (out) socket - else if ((fdArray[i].events & THRIFT_POLLOUT) == THRIFT_POLLOUT) { - write_fds_ptr = &write_fds; - FD_SET(fdArray[i].fd, &write_fds); - } - } - - timeval time_out; - timeval* time_out_ptr = nullptr; - if (timeout >= 0) { - time_out.tv_sec = timeout / 1000; - time_out.tv_usec = (timeout % 1000) * 1000; - time_out_ptr = &time_out; - } else { // to avoid compiler warnings - (void)time_out; - (void)timeout; - } - - int sktready = select(1, read_fds_ptr, write_fds_ptr, nullptr, time_out_ptr); - if (sktready > 0) { - for (ULONG i = 0; i < nfds; i++) { - fdArray[i].revents = 0; - if (FD_ISSET(fdArray[i].fd, &read_fds)) - fdArray[i].revents |= THRIFT_POLLIN; - if (FD_ISSET(fdArray[i].fd, &write_fds)) - fdArray[i].revents |= THRIFT_POLLOUT; - } - } - return sktready; -} -#else // Vista, Win7... -int thrift_poll(THRIFT_POLLFD* fdArray, ULONG nfds, INT timeout) { - return WSAPoll(fdArray, nfds, timeout); -} -#endif // WINVER - #ifdef _WIN32_WCE std::string thrift_wstr2str(std::wstring ws) { std::string s(ws.begin(), ws.end()); diff --git a/lib/cpp/src/thrift/windows/WinFcntl.h b/lib/cpp/src/thrift/windows/WinFcntl.h index 6c6be97ef..4816fc5ec 100644 --- a/lib/cpp/src/thrift/windows/WinFcntl.h +++ b/lib/cpp/src/thrift/windows/WinFcntl.h @@ -36,17 +36,8 @@ #include <Winsock2.h> #include <thrift/transport/PlatformSocket.h> -#if WINVER <= 0x0502 // XP, Server2003 -struct thrift_pollfd { - THRIFT_SOCKET fd; - SHORT events; - SHORT revents; -}; -#endif - extern "C" { int thrift_fcntl(THRIFT_SOCKET fd, int cmd, int flags); -int thrift_poll(THRIFT_POLLFD* fdArray, ULONG nfds, INT timeout); } #ifdef _WIN32_WCE |