aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/PipedReader.java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-02-13 18:55:13 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-02-13 18:55:13 +0000
commitf3b43865acd32bed18eb7316eb8f9916bf8bfc9e (patch)
treec25167f3e73e64441f8cd01df631a5cab6684b6c /libjava/java/io/PipedReader.java
parent967eb03e12d367a679c5a33a0fc13297dfadf327 (diff)
downloadgcc-f3b43865acd32bed18eb7316eb8f9916bf8bfc9e.zip
gcc-f3b43865acd32bed18eb7316eb8f9916bf8bfc9e.tar.gz
gcc-f3b43865acd32bed18eb7316eb8f9916bf8bfc9e.tar.bz2
PipedReader.java (ready): Throw IOException if pipe closed.
* java/io/PipedReader.java (ready): Throw IOException if pipe closed. * java/io/FilterReader.java (close): Don't clear `in'. * java/io/CharArrayReader.java (mark): Throw IOException if stream closed. (read, ready, reset, skip): Added exception message. * java/io/BufferedReader.java (mark, reset, ready, read, skip): Perform checkStatus check inside synchronized block. From-SVN: r39641
Diffstat (limited to 'libjava/java/io/PipedReader.java')
-rw-r--r--libjava/java/io/PipedReader.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/java/io/PipedReader.java b/libjava/java/io/PipedReader.java
index 8047d55..07569eb 100644
--- a/libjava/java/io/PipedReader.java
+++ b/libjava/java/io/PipedReader.java
@@ -312,10 +312,15 @@ public class PipedReader extends Reader
public boolean ready() throws IOException
{
// The JDK 1.3 implementation does not appear to check for the closed or
- // unconnected stream conditions here.
+ // unconnected stream conditions here. However, checking for a
+ // closed stream is explicitly required by the JDK 1.2 and 1.3
+ // documentation (for Reader.close()), so we do it.
synchronized (lock)
{
+ if (closed)
+ throw new IOException("Pipe closed");
+
if (in < 0)
return false;