> On 13 Apr 2018, at 22:26, Alistair Grant <akgrant0...@gmail.com> wrote:
> 
> Hi Stef & Sven,
> 
> On 13 April 2018 at 20:38, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
>> Hi
>> 
>> I do not know if this is related to the OldStreamCleaningEffort but
>> when I press store settings in the Settings browser I get a primitive
>> failed.
>> 
>> https://pharo.fogbugz.com/f/cases/21699/Store-settings-raise-a-DNU-primFlush
> 
> 
> This is because the stream created in
> SystemSettingsPersistence>>storeExactStoredSettings: is closed twice,
> first in SettingsStonWriter>>store and then in
> SystemSettingsPersistence>>storeExactStoredSettings:.
> 
> Previous versions of file streams have allowed the stream #close to be
> called multiple times, however ZnBufferedReadWriteStream doesn't allow
> this.
> 
> I think that since an already open stream is handed to
> SettingsStonWriter, it shouldn't be closing the stream.  That will
> resolve this particular problem.
> 
> It can also be argued that ZnBufferedReadWriteStream and co. should
> allow streams to be closed multiple times for backward compatibility.
> Sven?

Yes, OK, making #close idempotent is good. If we add #closed to 
ZnBufferedReadStream we can add a 

  self closed ifFalse: [ .. ]

guard in #close.

> Cheers,
> Alistair
> 


Reply via email to