RFR 9: 8155808: Process.getInputStream().skip() method is faulty

Daniel Fuchs daniel.fuchs at oracle.com
Fri Jun 17 13:41:57 UTC 2016


Hi Roger,

Should PipeInputStream be final?

If so I guess you could remove the first part of the sentence in
the @exception clause (should that be @throws?):

  655          * @exception  IOException  if the stream does not support 
seek,
  656          *                          or if some other I/O error occurs.

since you do not use seek() - whether the stream supports it or
not will become irrelevant.

Otherwise it looks reasonable to me.
The code was copied over from InputStream, right?

best regards,

-- daniel

On 16/06/16 21:11, Roger Riggs wrote:
> Ping?
>
>
> On 6/13/2016 11:06 AM, Roger Riggs wrote:
>> A latent issue with Process InputStreams support for the skip method
>> was reported[1].
>>
>> Though the InputStream returned is a BufferedInputStream, in some cases,
>> the skip method calls FileInputStream.seek on the pipe containing output
>> from the process but the pipes do not support seek.  The proposed fix
>> is to override
>> the skip method to implement skip as reading the bytes instead of
>> invoking seek.
>>
>> Please review and comment:
>>
>> Webrev:
>>
>> http://cr.openjdk.java.net/~rriggs/webrev-skip-8155808/index.html
>>
>> Issue:
>>
>>   [1] https://bugs.openjdk.java.net/browse/JDK-8155808
>>
>> Thanks, Roger
>>
>>
>



More information about the core-libs-dev mailing list