diff options
Diffstat (limited to 'external/ikvm/openjdk/java/net/SocketInputStream.java')
-rw-r--r-- | external/ikvm/openjdk/java/net/SocketInputStream.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/external/ikvm/openjdk/java/net/SocketInputStream.java b/external/ikvm/openjdk/java/net/SocketInputStream.java index 830fa51ce1..161947cc5e 100644 --- a/external/ikvm/openjdk/java/net/SocketInputStream.java +++ b/external/ikvm/openjdk/java/net/SocketInputStream.java @@ -32,6 +32,7 @@ import java.nio.channels.FileChannel; import static ikvm.internal.Winsock.*; import static java.net.net_util_md.*; +import sun.misc.IoTrace; import sun.net.ConnectionResetException; /** @@ -41,7 +42,6 @@ import sun.net.ConnectionResetException; * * @author Jonathan Payne * @author Arthur van Hoff - * @author Jeroen Frijters */ class SocketInputStream extends FileInputStream { @@ -182,7 +182,7 @@ class SocketInputStream extends FileInputStream } int read(byte b[], int off, int length, int timeout) throws IOException { - int n; + int n = 0; // EOF already encountered if (eof) { @@ -204,6 +204,7 @@ class SocketInputStream extends FileInputStream boolean gotReset = false; + Object traceContext = IoTrace.socketReadBegin(); // acquire file descriptor and do the read FileDescriptor fd = impl.acquireFD(); try { @@ -215,6 +216,8 @@ class SocketInputStream extends FileInputStream gotReset = true; } finally { impl.releaseFD(); + IoTrace.socketReadEnd(traceContext, impl.address, impl.port, + timeout, n > 0 ? n : 0); } /* @@ -222,6 +225,7 @@ class SocketInputStream extends FileInputStream * buffered on the socket */ if (gotReset) { + traceContext = IoTrace.socketReadBegin(); impl.setConnectionResetPending(); impl.acquireFD(); try { @@ -232,6 +236,8 @@ class SocketInputStream extends FileInputStream } catch (ConnectionResetException rstExc) { } finally { impl.releaseFD(); + IoTrace.socketReadEnd(traceContext, impl.address, impl.port, + timeout, n > 0 ? n : 0); } } |