<div dir="ltr"><div class="gmail_default" style="font-size:large">Get your Collections commit in quickly because in the comment you get to state that this is the One After 909 ;-)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 14, 2020 at 10:40 AM <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Eliot Miranda uploaded a new version of Collections to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Collections-eem.909.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/Collections-eem.909.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Collections-eem.909<br>
Author: eem<br>
Time: 14 September 2020, 10:40:20.674349 am<br>
UUID: de499e36-5394-4102-86f7-aa1def93b595<br>
Ancestors: Collections-mt.908<br>
<br>
Make TranscriptStream's access protect an inst var and a Mutex.<br>
<br>
=============== Diff against Collections-mt.908 ===============<br>
<br>
Item was changed:<br>
  WriteStream subclass: #TranscriptStream<br>
+       instanceVariableNames: 'lastChar lock'<br>
+       classVariableNames: 'CharacterLimit ForceUpdate RedirectToStdOut'<br>
-       instanceVariableNames: 'lastChar'<br>
-       classVariableNames: 'AccessSema CharacterLimit ForceUpdate RedirectToStdOut'<br>
        poolDictionaries: ''<br>
        category: 'Collections-Streams'!<br>
<br>
  !TranscriptStream commentStamp: 'fbs 12/30/2013 09:53' prior: 0!<br>
  This class is a much simpler implementation of Transcript protocol that supports multiple views and very simple conversion to morphic.  Because it inherits from Stream, it is automatically compatible with code that is designed to write to streams.!<br>
<br>
Item was changed:<br>
  ----- Method: TranscriptStream>>endEntry (in category 'stream extensions') -----<br>
  endEntry<br>
        "Display all the characters since the last endEntry, and reset the stream"<br>
+       self lock critical:<br>
+               [self changed: (self class forceUpdate<br>
+                                                       ifTrue: [#appendEntry]<br>
+                                                       ifFalse: [self changed: #appendEntryLater])]!<br>
-       self semaphore critical:[<br>
-               self class forceUpdate<br>
-                       ifTrue: [self changed: #appendEntry]<br>
-                       ifFalse: [self changed: #appendEntryLater].<br>
-               self reset.<br>
-       ].!<br>
<br>
Item was added:<br>
+ ----- Method: TranscriptStream>>lock (in category 'private') -----<br>
+ lock<br>
+       ^lock ifNil:[lock := Mutex new]!<br>
<br>
Item was removed:<br>
- ----- Method: TranscriptStream>>semaphore (in category 'private') -----<br>
- semaphore<br>
-       ^AccessSema ifNil:[AccessSema := Semaphore forMutualExclusion]!<br>
<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>