harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Ellison (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5635) [classlib][luni][performance] ObjectInputStream should empty the underlying stream in right way
Date Thu, 27 Mar 2008 14:49:25 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582667#action_12582667

Tim Ellison commented on HARMONY-5635:


Removed the static modifier at repo revision r641839.

re: (1) How could the code succeed in writing to an InputStream anyway?

> [classlib][luni][performance] ObjectInputStream should empty the underlying stream in
right way
> -----------------------------------------------------------------------------------------------
>                 Key: HARMONY-5635
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5635
>             Project: Harmony
>          Issue Type: Improvement
>            Reporter: Aleksey Shipilev
>            Assignee: Tim Ellison
>         Attachments: 0003-serial-emptystream.patch
> For now, ObjectInputStream empties the underlying stream by assigning it to static emptyStream
> This is very buggy way to do things, for two reasons:
>  1. Consider you've done
>          ByteArrayInputStream temp1 = emptyStream;
>      then you might do temp1.write(...) and spoil the emptyStream with garbage. Luckily
there are no such opportunities in current OIS.
>  2. Consider you've "emptied" several streams in different threads and then ask for OIS.available()
then you would have the BAIS.available() [synchronized by spec] - and the _contention_, up
to fat monitors invocation.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message