Commit 051d082b by Tom Tromey Committed by Tom Tromey

PipedInputStream.java, [...]: New version from Classpath.

	* java/io/PipedInputStream.java, java/io/PipedReader.java,
	java/io/PipedOutputStream.java, java/io/PipedWriter.java: New
	version from Classpath.

From-SVN: r33316
parent 473e7b07
2000-04-21 Tom Tromey <tromey@cygnus.com>
* java/io/PipedInputStream.java, java/io/PipedReader.java,
java/io/PipedOutputStream.java, java/io/PipedWriter.java: New
version from Classpath.
Fix for PR libgcj/213:
* Makefile.in: Rebuilt.
* Makefile.am (gij_SOURCES): Added gij.cc.
......
/* PipedInputStream.java -- Input stream that reads from an output stream
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -67,23 +67,10 @@ protected static final int PIPE_SIZE = 2048;
*/
private static int pipe_size;
/**
* This variable indicates whether or not the <code>read()</code> method will attempt
* return a short count if this will possibly keep the stream from blocking.
* The default for this is <code>false</code> because that is what what the JDK seems
* to imply in its javadocs. We set this to <code>false</code> if the system
* property <code>gnu.java.io.try_not_to_block</code> is set.
*/
private static boolean try_not_to_block = false;
static
{
pipe_size = Integer.getInteger("gnu.java.io.PipedInputStream.pipe_size",
PIPE_SIZE).intValue();
String block_prop = System.getProperty("gnu.java.io.try_not_to_block");
if (block_prop != null)
try_not_to_block = true;
}
/*************************************************************************/
......@@ -373,9 +360,8 @@ read(byte[] buf, int offset, int len) throws IOException
return(bytes_read);
// Return a short count if necessary
if (bytes_read < len)
if (try_not_to_block)
return(bytes_read);
if (bytes_read > 0 && bytes_read < len)
return(bytes_read);
// Handle the case where the end of stream was encountered.
if (closed)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment