logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

CVS: sbcl/doc/internals-notes threading-specials,NONE,1.1.2.1: msg#00170

Subject: CVS: sbcl/doc/internals-notes threading-specials,NONE,1.1.2.1
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


<Prev in Thread] Current Thread [Next in Thread>