Update of /cvsroot/sbcl/sbcl/doc/internals-notes
In directory sc8-pr-cvs1:/tmp/cvs-serv4298/doc/internals-notes
Added Files:
Tag: stop_the_world_branch
threading-specials
Log Message:
0.8.2.38.stop_the_world.8
Thread-safety and the SBCL standard library.
This is going to be a drag. So far we've mostly depended on
guesswork and on observing bugs to find places in the SBCL
code that are not thread safe and need rewriting or locking
until they are. As we dispose of the obvious cases, this
approach is going to start working less well for the obscure
ones
doc/internals-notes/threading-specials lists all symbols in
SBCL with a '*' in their names, less the ones that clearly
aren't special variables at all (LIST*, DO*). Weed it and
reap.
--- NEW FILE: threading-specials ---
Things in SBCL that look like special variables (list created by
(apropos "*")) and could conceivably indicate potental thread safety
issues. Organised by functional area.
The goals are
(1) classify the unclassified symbols (in such a way as to
make sense for 2)
(2) read through the subsystems identified looking for places
where global state is mutated. Use this list of symbols as a
guide, but be open to the possibility that other state
(e.g. closures, foreign variables) is touched too.
When looking at a particular symbol, please annotate it in
this file when you figure out what it's for and how it's
changed. To give us some confidence that we have reasonable
coverage, please don't just delete it if it looks ok. Symbols
[...1066 lines suppressed...]
*EFFICIENCY-NOTE-COST-THRESHOLD*
*EFFICIENCY-NOTE-LIMIT*
*USE-IMPLEMENTATION-TYPES*
*INTEXP-MAXIMUM-EXPONENT*
*GENSYM-COUNTER*
*MACROEXPAND-HOOK*
*RANDOM-STATE*
SB-BIGNUM::*TRUNCATE-Y*
SB-BIGNUM::*TRUNCATE-X*
SB-INT:*CL-PACKAGE*
SB-INT:*KEYWORD-PACKAGE*
SB-INT:*SETF-FDEFINITION-HOOK*
SB-INT:*DEFAULT-INIT-CHAR-FORM*
SB-INT:*EOF-OBJECT*
SB-INT:*AFTER-SAVE-INITIALIZATIONS*
SB-INT:*LOAD-SOURCE-DEFAULT-TYPE*
SB-INT:*BEFORE-SAVE-INITIALIZATIONS*
SB-INT:*INFO-ENVIRONMENT*
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
|