commit | bec15e5105cae849b8095210e6ed6deac09c443d | [log] [tgz] |
---|---|---|
author | David Reiss <dreiss@apache.org> | Tue Mar 09 05:19:14 2010 +0000 |
committer | David Reiss <dreiss@apache.org> | Tue Mar 09 05:19:14 2010 +0000 |
tree | 6c3f22cadc4465d1c9ea1ee79a49ae107608dd0d | |
parent | 487fd2e0435db0326a60821bcc96e56fa2eee711 [diff] |
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; } /**