<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-09-20 19:56 GMT+02:00 H. Hirzel <span dir="ltr"><<a href="mailto:hannes.hirzel@gmail.com" target="_blank">hannes.hirzel@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">On 9/20/17, H. Hirzel <<a href="mailto:hannes.hirzel@gmail.com">hannes.hirzel@gmail.com</a>> wrote:<br>
> The Pharo list has some notes about this in March 2011 and Levente was<br>
> involved.<br>
><br>
> The issues are no longer accessible, e.g.<br>
> <a href="https://code.google.com/archive/p/pharo/issues/3342" rel="noreferrer" target="_blank">https://code.google.com/<wbr>archive/p/pharo/issues/3342</a><br>
><br></div></div></blockquote><div><br></div><div>The pharo issue tracker has moved to fogbugz, but one needs to register for accessing...</div><div>If you seek sharedQueue or SharedQueue you'll see a lot of activity<br></div><div><br></div><div><a href="https://pharo.fogbugz.com/f/cases/3173/SharedQueue-ENH">https://pharo.fogbugz.com/f/cases/3173/SharedQueue-ENH</a></div><div>(was <a href="https://code.google.com/p/pharo/issues/detail?id=3125">https://code.google.com/p/pharo/issues/detail?id=3125</a>)</div><div>issue opened for tracking changes in Squeak<br></div><div>Igor claims its atomic-based queues are more robust under heavy-concurrent-load</div><div><br></div><div><a href="https://pharo.fogbugz.com/f/cases/3390/have-a-look-at-sharedQueue-fixes-from-Levente">https://pharo.fogbugz.com/f/cases/3390/have-a-look-at-sharedQueue-fixes-from-Levente</a><div>(was <a href="https://code.google.com/p/pharo/issues/detail?id=3342">https://code.google.com/p/pharo/issues/detail?id=3342</a>)</div></div><div>issue opened for tracking changes in Squeak</div><div>Markus said SharedQueue were replace with SharedQueue2 in Pharo</div><div>It's not easy to find in which issue this was done exactly (the close status are unclear to me)<br></div><div><br></div><div><a href="https://pharo.fogbugz.com/f/cases/3482/SharedQueue-Fixes">https://pharo.fogbugz.com/f/cases/3482/SharedQueue-Fixes</a></div><div>(was <a href="https://code.google.com/p/pharo/issues/detail?id=3434">https://code.google.com/p/pharo/issues/detail?id=3434</a>)</div><div>same kind as #3173</div><div><br></div><div>etc many other similar issues... and then:<br></div><div><br></div><div><a href="https://pharo.fogbugz.com/f/cases/4073/Integrating-Atomics">https://pharo.fogbugz.com/f/cases/4073/Integrating-Atomics</a></div><div>(was <a href="https://code.google.com/p/pharo/issues/detail?id=4026" rel="nofollow noopener noreferrer" target="_blank">https://code.google.com/p/pharo/issues/detail?id=4026</a>)</div><div>tells that atomics was integrated in Pharo 3.0 originating from</div><div>MCHttpRepository<br>
    location: '<a href="http://www.squeaksource.com/Atomics" rel="nofollow noopener noreferrer" target="_blank">http://www.squeaksource.com/Atomics</a>'<br>
    user: ''<br>
    password: ''</div><div><br></div><div>so maybe we can just pick current Pharo version along with tests and avoid more archeology<br></div><div><br></div><div>Nicolas<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">
> On 9/20/17, H. Hirzel <<a href="mailto:hannes.hirzel@gmail.com">hannes.hirzel@gmail.com</a>> wrote:<br>
>> Just reposting the message<br>
>> <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2017-September/195308.html" rel="noreferrer" target="_blank">http://lists.squeakfoundation.<wbr>org/pipermail/squeak-dev/2017-<wbr>September/195308.html</a><br>
>> below so that it gets a proper subject line.<br>
>><br>
>><br>
>> Note: SharedQueue and SharedQueue2 are both in the image.<br>
>> SharedQueue2 was included into Squeak version 3.9 by MarcusDenker<br>
>> (10-07-2005) for further testing.<br>
>><br>
>> Lex Spoon notes one year later that no problems have come to light. We<br>
>> should start migrating to this. All it requires is replacing<br>
>> SharedQueue by SharedQueue2.<br>
>><br>
>> Then two years later (12-17-2008)  Keith_Hodges  proposes a migration<br>
>> script<br>
>><br>
>> "fix begin"<br>
>> Installer mantis bug: 1375 fix: 'M1375-SharedQueue2Enable.1.<wbr>cs'.<br>
>> WorldState initialize.<br>
>> EventSensor initialize.<br>
>> "fix end"<br>
>><br>
>> We need somebody to have a look at this script<br>
>> 'M1375-SharedQueue2Enable.1.<wbr>cs' if it is still good to do the task.<br>
>><br>
>> BTW Pharo does not have two implementations of SharedQueue.<br>
>><br>
>> HH.<br>
>><br>
>><br>
>> SharedQueue<br>
>> I provide synchronized communication of arbitrary objects between<br>
>> Processes. An object is sent by sending the message nextPut: and<br>
>> received by sending the message next. If no object has been sent when<br>
>> a next message is sent, the Process requesting the object will be<br>
>> suspended until one is sent.<br>
>><br>
>> SharedQueue2<br>
>> An implementation of a shared queue based on class Monitor.  Clients<br>
>> may may place items on the queue using nextPut: or remove them using<br>
>> methods like next or nextOrNil.  Items are removed in first-in<br>
>> first-out (FIFO) order.  It is safe for multiple threads to access the<br>
>> same shared queue, which is why this is a "shared" queue.<br>
>><br>
>> [monitor] is used to synchronize access from multiple threads.<br>
>><br>
>> [items] is an ordered collection holding the items that are in the<br>
>> queue.  New items are added  at the end, and old items are removed<br>
>> from the beginning.<br>
>><br>
>> All methods must hold the monitor while they run.<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> Levente Uzonyi<br>
>> <<a href="mailto:leves@caesar.elte.hu">leves@caesar.elte.hu</a>>       Wed, Sep 20, 2017 at 6:44 PM<br>
>> Reply-To: The general-purpose Squeak developers list<br>
>> <<a href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.<wbr>squeakfoundation.org</a>><br>
>> To: The general-purpose Squeak developers list<br>
>> <<a href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.<wbr>squeakfoundation.org</a>><br>
>> On Wed, 20 Sep 2017, H. Hirzel wrote:<br>
>><br>
>><br>
>>     On 9/20/17, Levente Uzonyi <<a href="mailto:leves@caesar.elte.hu">leves@caesar.elte.hu</a>> wrote:<br>
>><br>
>>         These methods were there to make it possible to migrate from<br>
>> SharedQueue<br>
>>         to SharedQueue2 in a live system.<br>
>><br>
>><br>
>>     Could you please give some more background information about this<br>
>> migration?<br>
>><br>
>><br>
>> <a href="http://bugs.squeak.org/view.php?id=1375" rel="noreferrer" target="_blank">http://bugs.squeak.org/view.<wbr>php?id=1375</a><br>
>><br>
>><br>
>>         That migration has not happened yet,<br>
>><br>
>><br>
>>     Is there a reason not to do it after 5 years?<br>
>><br>
>><br>
>> The mantis issue above has a few potential reasons.<br>
>> Another one may be that now there are other potential shared queue<br>
>> implementations to replace SharedQueue.<br>
>><br>
><br>
</div></div><br><br>
<br></blockquote></div><br></div></div>