THRIFT-661. java: Detect EOF in TIOStreamTransport

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920659 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java b/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java
index fa5b6d7..c8cd118 100644
--- a/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java
+++ b/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java
@@ -122,11 +122,16 @@
     if (inputStream_ == null) {
       throw new TTransportException(TTransportException.NOT_OPEN, "Cannot read from null inputStream");
     }
+    int bytesRead;
     try {
-      return inputStream_.read(buf, off, len);
+      bytesRead = inputStream_.read(buf, off, len);
     } catch (IOException iox) {
       throw new TTransportException(TTransportException.UNKNOWN, iox);
     }
+    if (bytesRead < 0) {
+      throw new TTransportException(TTransportException.END_OF_FILE);
+    }
+    return bytesRead;
   }
 
   /**