Rajesh Godbole <argv(a)Sun.COM> writes:
>>>>> Olivier Galibert writes:
> Oh yeah ? I'm really interesting in how using gtk/glib will
> make our _LISP_ code thread-safe.
Why do I get the feeling that I've opened a can of worms.
Okay, here's my $0.02. In order for threading to work with emacs-lisp
the following things need to happen. (We're talking relatively long
term here, hence the word roadmap.)
o The OS
First off, the OS itself needs to "support" threads. Most industrial
strength OSes do so. Examples, DG/UX, HP/UX, AIX, Linux, Windoze,
Sun.
o [x]emacs
[x]emacs would need to use a threaded library in order to support
multiple threads of execution within the same process. gtk/glib
would be _one_ solution. Its used extensively in gnome and mozilla.
xemacs code would need to be made mt-safe by mutex-locking out
critical sections of the code.
gtk/glib could provide a new widget set to replace existing ones,
but that's another debate.
o emacs-lisp
the base emacs-lisp would need to provide extended lisp
functionality to interface with the low-level threads library.
This would probably be a package that provides mutex
The _real_ problem is making the interpreter thread safe, not just adding
the primitives to make the actual lisp _programs_ thread safe.
-bp