dgü created SSHD-1302:
-------------------------
Summary: Handling empty ChannelExec#getInvertedOut() to rely on
InputStream
Key: SSHD-1302
URL: https://issues.apache.org/jira/browse/SSHD-1302
Project: MINA SSHD
Issue Type: Improvement
Affects Versions: 2.9.1
Environment: Java 8
Reporter: dgü
Hello!
If I read an input stream until end of it, and then read it again, it throws an
exception.
Here is the test case:
{code:java}
BufferedReader input;
String line;
//process.getInputStream() gets its value from
ChannelExec#getInvertedOut()
System.out.println("getInputStream: " + process.getInputStream());
input = new BufferedReader(new
InputStreamReader(process.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
System.out.println("getInputStream: " + process.getInputStream());
input = new BufferedReader(new
InputStreamReader(process.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
{code}
Here is an output excerpt:
{quote}getInputStream:
org.apache.sshd.common.channel.ChannelPipedInputStream@bd8db5a
total 0
drwx------. 3 root root 17 Oct 17 10:31
systemd-private-c3ce924f90c24e4a86f637831f434fe3-chronyd.service-DwM2fR
drwx------. 3 root root 17 Oct 14 13:22
systemd-private-e0701fd845894b6087a236a976c00b35-chronyd.service-2z3OOv
getInputStream: org.apache.sshd.common.channel.ChannelPipedInputStream@bd8db5a
Exception in thread "main" java.io.IOException: Pipe closed after 0 cycles
at
org.apache.sshd.common.channel.ChannelPipedInputStream.read(ChannelPipedInputStream.java:126)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389){quote}
It looks the input stream is closed.
is it possible not to throw an exception to rely on java.io.InputStream ?
Thanks in advance...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]