This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Removing scm_root_state


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?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]