To be picky about it, it is not exactly locking but a very similar pattern:
158 public void close() throws IOException {
159 if (closed)
160 return;
161 closed = true;
On Jun 24, 2015, at 6:16 PM, Vitaly Davidovich <[email protected]> wrote:
> Sorry, where was the double checked locking in FilterOutputStream? I see a
> plain "closed" boolean before.
>
> sent from my phone
>
> The intent here was to fix a specific problem of exception throwing in
> close(). Prior to this, re-closing the stream was “protected” by double
> checked locking. Extending coverage of synchronicity problems to the rest of
> the class could be addressed in the context of another issue, yet to be
> filed, should this be deemed desirable.
>
> On Jun 24, 2015, at 5:34 PM, Vitaly Davidovich <[email protected]> wrote:
>
> > I must say it's a bit odd seeing an atomic field in an otherwise
> > non-threadsafe class. To be pedantic, what's to prevent close (being
> > called on a different thread from one that allocated the filtered output
> > stream) from seeing inconsistent out field values (assume the stream was
> > published unsafely)? Readers/maintainers of this class may question why
> > this sole bit is covered via an atomic but rest of class isn't.- Re: [9] RFR of 8042377: BufferedWriter and Filtered... Brian Burkhalter
- RE: [9] RFR of 8042377: BufferedWriter and FilteredOutpu... Jason Mehrens
- Re: [9] RFR of 8042377: BufferedWriter and Filtered... Brian Burkhalter
- Re: [9] RFR of 8042377: BufferedWriter and Filt... Brian Burkhalter
- Re: [9] RFR of 8042377: BufferedWriter and ... Chris Hegarty
- Re: [9] RFR of 8042377: BufferedWriter ... Brian Burkhalter
- Re: [9] RFR of 8042377: BufferedWriter ... Brian Burkhalter
- Re: [9] RFR of 8042377: BufferedWr... Vitaly Davidovich
- Re: [9] RFR of 8042377: Buffer... Brian Burkhalter
- Re: [9] RFR of 8042377: Buffer... Vitaly Davidovich
- Re: [9] RFR of 8042377: Buffer... Brian Burkhalter
- Re: [9] RFR of 8042377: Buffer... Vitaly Davidovich
- Re: [9] RFR of 8042377: Buffer... David Holmes
- RE: [9] RFR of 8042377: BufferedWriter and ... Jason Mehrens
- Re: [9] RFR of 8042377: BufferedWriter and FilteredOutpu... Bernd Eckenfels
- Re: [9] RFR of 8042377: BufferedWriter and FilteredOutpu... Alan Bateman
- Re: [9] RFR of 8042377: BufferedWriter and FilteredOutpu... Peter Levart
- Re: [9] RFR of 8042377: BufferedWriter and Filtered... Brian Burkhalter
- Re: [9] RFR of 8042377: BufferedWriter and Filt... Alan Bateman
- Re: [9] RFR of 8042377: BufferedWriter and ... Peter Levart
- Re: [9] RFR of 8042377: BufferedWriter ... Alan Bateman
