This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Removing scm_root_state
- To: Richard Guenther <richard dot guenther at student dot uni-tuebingen dot de>
- Subject: Re: Removing scm_root_state
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: 22 Mar 2000 23:31:00 +0100
- Cc: Mikael Djurfeldt <djurfeldt at nada dot kth dot se>, guile at sourceware dot cygnus dot com
- Cc: djurfeldt at nada dot kth dot se
- References: <Pine.LNX.4.21.0003221057040.22865-100000@fs1.dekanat.physik.uni-tuebingen.de>
Richard Guenther <richard.guenther@student.uni-tuebingen.de> writes:
> As the topic of global variables pop up, what I wanted for a long time
> now is the ability to boot multiple VMs in different threads, so I propose
> to get rid of the global variables entirely and provide api functions
> which take a sort of a VM-struct as first argument. Backwards
> compatibility can be obtained by doing the current api as macros which
> just pass a global VM-struct as first argument.
>
> Comments? Richard.
In the Guile which we plan, I don't think being able to run multiple
VMs in different threads is useful enough to be supported.
The main reason is that the combination of new module system, moving
many state variables to per-thread scope, and POSIX support will make
it possible to let individual threads behave like individual VMs.
(This of course also requires an improvement of signal handling so
that signals are delivered to the correct thread.)