aboutsummaryrefslogtreecommitdiff
path: root/libjava/win32.cc
diff options
context:
space:
mode:
authorMohan Embar <gnustuff@thisiscool.com>2003-12-16 22:54:22 +0000
committerMohan Embar <membar@gcc.gnu.org>2003-12-16 22:54:22 +0000
commit5cd4d463f974cced4d9819ace4583641ec0ad188 (patch)
treeb5989fc00b6fe0bbc2e88ddede32688185e6203f /libjava/win32.cc
parent027e655b6eb26b1a17355c0ad4d97baf9d418a30 (diff)
downloadgcc-5cd4d463f974cced4d9819ace4583641ec0ad188.zip
gcc-5cd4d463f974cced4d9819ace4583641ec0ad188.tar.gz
gcc-5cd4d463f974cced4d9819ace4583641ec0ad188.tar.bz2
win32.cc (WSAEventWrapper): Implemented default constructor and init() methods.
* win32.cc (WSAEventWrapper): Implemented default constructor and init() methods. (_Jv_select): Removed. * gnu/java/nio/natSelectorImplWin32.cc (helper_put_filedescriptors): Removed. (helper_get_filedescriptors): Removed. (implSelect): Implemented in terms of WSAEventWrapper and WSAWaitForMultipleEvents instead of _Jv_select(). Added support for thread interruption. * include/win32.h (WSAEventWrapper): Minor formatting changes; added default constructor declaration, init(), getFD() and getEventHandle() methods. (_Jv_select): Removed. From-SVN: r74715
Diffstat (limited to 'libjava/win32.cc')
-rw-r--r--libjava/win32.cc30
1 files changed, 15 insertions, 15 deletions
diff --git a/libjava/win32.cc b/libjava/win32.cc
index ec089a5..027333b 100644
--- a/libjava/win32.cc
+++ b/libjava/win32.cc
@@ -143,11 +143,24 @@ _Jv_Win32TempString::~_Jv_Win32TempString()
}
// class WSAEventWrapper
+WSAEventWrapper::WSAEventWrapper ():
+ m_hEvent(0),
+ m_fd(0),
+ m_dwSelFlags(0)
+{}
+
WSAEventWrapper::WSAEventWrapper (int fd, DWORD dwSelFlags):
m_hEvent(0),
- m_fd(fd),
- m_dwSelFlags(dwSelFlags)
+ m_fd(0),
+ m_dwSelFlags(0)
+{
+ init(fd, dwSelFlags);
+}
+
+void WSAEventWrapper::init(int fd, DWORD dwSelFlags)
{
+ m_fd = fd;
+ m_dwSelFlags = dwSelFlags;
m_hEvent = WSACreateEvent ();
if (dwSelFlags)
WSAEventSelect(fd, m_hEvent, dwSelFlags);
@@ -446,19 +459,6 @@ backtrace (void **__array, int __size)
}
int
-_Jv_select (int n, fd_set *readfds, fd_set *writefds,
- fd_set *exceptfds, struct timeval *timeout)
-{
- int r = ::select (n, readfds, writefds, exceptfds, timeout);
- if (r == SOCKET_ERROR)
- {
- DWORD dwErrorCode = WSAGetLastError ();
- throw new java::io::IOException (_Jv_WinStrError (dwErrorCode));
- }
- return r;
-}
-
-int
_Jv_pipe (int filedes[2])
{
return _pipe (filedes, 4096, _O_BINARY);