Multiple processes using #nextPutAll:
Bert Freudenberg
bert at freudenbergs.de
Sat May 26 14:55:21 UTC 2007
On May 26, 2007, at 16:45 , Klaus D. Witzel wrote:
> On Sat, 26 May 2007 16:37:44 +0200, I wrote:
>> Hi Bert,
>>
>> on Sat, 26 May 2007 16:22:30 +0200, you wrote:
>>
>>> On Sat, 26 May 2007 14:12:59 +0200, Damien Cassou wrote:
>>>> Thank you for this comments. That was what I was afraid of. Is it
>>>> possible to have test that will show #nextPutAll: is not protected?
>>>
>>> I'm not convinced #nextPutAll: should be atomic. It would mean a
>>> consumer cannot start processing queued items before all elements
>>> are written. Right now, #nextPutAll: uses #nextPut:
>>
>
> Sorry, this should read:
>> In the example Damien used in this thread and in the
>> implementation of
> Say Damien used String in his examples ...
>
> /Klaus
>
>> #nextPutAll: in Nile and the classic WriteStream on String,
>> #nextPut: is not used by #nextPutAll:.
>>
>> Instead, #nextPutAll: updates at least one or more instance
>> variables (besides appending the elements of the argument). This
>> all together must be atomic, otherwise the system will be blown up.
I thought we were talking about SharedQueue. Both in 3.8 and
SharedQueue2 in 3.9 use #nextPut:.
- Bert -
More information about the Squeak-dev
mailing list
|