README
author Jan Vrany <jan.vrany@labware.com>
Thu, 25 Mar 2021 20:30:03 +0000
branchjv
changeset 25411 248600ba8fd9
parent 6437 dc87b1b72783
permissions -rw-r--r--
Fix unlikely but possible race in `WeakValueDictionary` It may happen that value in `valueArray` could have been already collected by the GC but #clearDeadSlots have not yet been called. When this happened, `#at:ifAbsentPut:` returned tombstone rather than updating the dictionary with value from block. This commit fixes this by checking whether `valueArray` contain the tombstone and if so, clearing up the dead slots and restarting the operation. HTH.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4083
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
This directory contains (what we consider) fundamental
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
classes required for any serious Smalltalk application
6437
dc87b1b72783 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5319
diff changeset
     3
(both headless and GUI-based).
5319
fd105d51804f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4083
diff changeset
     4
4083
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
Of course, for special applications, even this set of
6437
dc87b1b72783 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5319
diff changeset
     6
classes could be reduced 
dc87b1b72783 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5319
diff changeset
     7
(for smaller apps, some of LargeInteger, Float, Fraction 
dc87b1b72783 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5319
diff changeset
     8
 etc. could be left out).
5319
fd105d51804f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4083
diff changeset
     9
4083
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
We do not provide tools or support for such minimal 
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
configurations - with modern, paged OperatingSystems, there
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
is also less sense in doing so, since unused code is simply
0f0b6c99acf7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
paged out or never paged in at all.