This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Removing scm_root_state
- To: guile at sourceware dot cygnus dot com
- Subject: Removing scm_root_state
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: Tue, 21 Mar 2000 15:20:01 +0100
- Reply-to: Mikael Djurfeldt <djurfeldt at nada dot kth dot se>
I'd like us to remove the scm_root_state structure.
I'd like us only to have four possible semi-global scopes: global, per
thread, per print-call-chain, and per read-call-chain (I'll return to
this in a separate post).
I don't think we need a "per root" in addition to the above.
There is a planned reorganization of the threads support which aims to
remove the --with-threads option. The choice of whether to use
threads or not, and, especially, which threads package to use, should
be made by the application author, not by the system administrator.
With this change, there will be a structure of function pointers,
`scm_thread' which will have default non-thread values until an
application has "plugged in" a particular threads package (one of
which will be COOP and another POSIX). This means that the
scm_thread.getspecific/setspecific abstraction always will be
available, also under non-threaded use.
Suggestion:
Change the scope of variables in scm_root_state to "per thread" and
use scm_thread.getspecific/setspecific to implement them.
Protests?
Comments?