* gnu/java/net/natPlainDatagramSocketImplWin32.cc:
authormembar <membar@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Dec 2003 22:57:06 +0000 (22:57 +0000)
committermembar <membar@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Dec 2003 22:57:06 +0000 (22:57 +0000)
Removed unused InterruptedIOException.h include.
* gnu/java/net/natPlainSocketImplWin32.cc
(connect): Reset and ignore our thread's interrupted
flag instead of testing and throwing an InterruptedIOException
if set.
(accept): Likewise + changed case of SocketTimeoutException
text.
(write): Likewise (for both overloads).
(doRead): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74716 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc
libjava/gnu/java/net/natPlainSocketImplWin32.cc

index 2667bd2..739ef0a 100644 (file)
@@ -1,5 +1,18 @@
 2003-12-16  Mohan Embar  <gnustuff@thisiscool.com>
 
+       * gnu/java/net/natPlainDatagramSocketImplWin32.cc:
+       Removed unused InterruptedIOException.h include.
+       * gnu/java/net/natPlainSocketImplWin32.cc
+       (connect): Reset and ignore our thread's interrupted
+       flag instead of testing and throwing an InterruptedIOException
+       if set.
+       (accept): Likewise + changed case of SocketTimeoutException
+       text.
+       (write): Likewise (for both overloads).
+       (doRead): Likewise.
+
+2003-12-16  Mohan Embar  <gnustuff@thisiscool.com>
+
        * win32.cc (WSAEventWrapper): Implemented default
        constructor and init() methods.
        (_Jv_select): Removed.
index 18906a0..d353479 100644 (file)
@@ -17,7 +17,6 @@ details.  */
 
 #include <gnu/java/net/PlainDatagramSocketImpl.h>
 #include <java/io/IOException.h>
-#include <java/io/InterruptedIOException.h>
 #include <java/net/BindException.h>
 #include <java/net/SocketException.h>
 #include <java/net/InetAddress.h>
index 4ea0ca0..c4a54a9 100644 (file)
@@ -17,7 +17,6 @@ details.  */
 #include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
 #include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
 #include <java/io/IOException.h>
-#include <java/io/InterruptedIOException.h>
 #include <java/net/BindException.h>
 #include <java/net/ConnectException.h>
 #include <java/net/InetAddress.h>
@@ -176,9 +175,13 @@ gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
             // use true, false instead of TRUE, FALSE because the
             // MS constants got undefined
 
+        // Reset and ignore our thread's interrupted flag.
+        // It's not possible to interrupt these sort of
+        // operations on Win32 anyway.
+        ::java::lang::Thread::interrupted();
+
         if (dwRet == WSA_WAIT_FAILED)
           throwConnectException ();
-        
         else if (dwRet == WSA_WAIT_TIMEOUT)
           throw new ::java::net::SocketTimeoutException
             (JvNewStringUTF ("connect timed out"));
@@ -275,11 +278,14 @@ gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *s)
             // use true, false instead of TRUE, FALSE because the
             // MS constants got undefined
 
+        // Reset and ignore our thread's interrupted flag.
+        ::java::lang::Thread::interrupted();
+
         if (dwRet == WSA_WAIT_FAILED)
           goto error;
         else if (dwRet == WSA_WAIT_TIMEOUT)
           throw new ::java::net::SocketTimeoutException
-            (JvNewStringUTF ("accept timed out"));
+            (JvNewStringUTF ("Accept timed out"));
       }
     }
   else
@@ -361,14 +367,12 @@ gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
       if (r == -1)
         {
           DWORD dwErr = WSAGetLastError();
-          if (::java::lang::Thread::interrupted())
-            {
-              ::java::io::InterruptedIOException *iioe
-                = new ::java::io::InterruptedIOException
-                (_Jv_WinStrError (dwErr));
-              iioe->bytesTransferred = 0;
-              throw iioe;
-            }
+          
+          // Reset and ignore our thread's interrupted flag.
+          // It's not possible to interrupt these sort of
+          // operations on Win32 anyway.
+          ::java::lang::Thread::interrupted();
+
           // Some errors should not cause exceptions.
           if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
             && dwErr != WSAENOTSOCK)
@@ -397,14 +401,10 @@ gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b,
       if (r == -1)
         {
           DWORD dwErr = WSAGetLastError();
-          if (::java::lang::Thread::interrupted())
-            {
-              ::java::io::InterruptedIOException *iioe
-                = new ::java::io::InterruptedIOException
-                (_Jv_WinStrError (dwErr));
-              iioe->bytesTransferred = written;
-              throw iioe;
-            }
+
+          // Reset and ignore our thread's interrupted flag.
+          ::java::lang::Thread::interrupted();
+
           // Some errors should not cause exceptions.
           if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
             && dwErr != WSAENOTSOCK)
@@ -456,15 +456,10 @@ doRead(int native_fd, void* buf, int count, int timeout)
   dwErrorCode = WSAGetLastError ();
     // save WSAGetLastError() before calling Thread.interrupted()
   
-  if (::java::lang::Thread::interrupted())
-    {
-      ::java::io::InterruptedIOException *iioe =
-        new ::java::io::InterruptedIOException
-        (JvNewStringUTF("read interrupted"));
-      iioe->bytesTransferred = r == -1 ? 0 : r;
-      throw iioe;
-    }
-  else if (r == -1)
+  // Reset and ignore our thread's interrupted flag.
+  ::java::lang::Thread::interrupted();
+  
+  if (r == -1)
     {
 error:
       // Some errors cause us to return end of stream...
@@ -474,7 +469,7 @@ error:
       // Other errors need to be signalled.
       if (dwErrorCode == WSAETIMEDOUT)
         throw new ::java::net::SocketTimeoutException
-          (JvNewStringUTF ("read timed out") );
+          (JvNewStringUTF ("Read timed out") );
       else
         _Jv_ThrowIOException (dwErrorCode);
     }