Welcome to the threads-standard-discuss mailing list. It was created
as a result of discussion at the Libre Software Meeting in Bordeaux in
July 2004, as a venue for creating a portable de facto standard for
use by multithreaded Common Lisp code.
I have prepared an initial draft specification entitled BORDEAUX-MP,
based on CLIM-SYS (and the needs of McCLIM, which are in fact not
quite the same), which is available at
http://cvs.telent.net/cgi-bin/viewcvs.cgi/bordeaux-mp/Specification?view=ma…
Eventually there will also be a sample implementation to go with it,
using code borrowed from McCLIM.
I invite comments/feedback/flames from all interested parties. Points
which have been raised so far include
1) behaviour of specials in a new thread: "did you just make it
undefined so that the SBCL implementation would be simpler?"
I propose to add a list of specials which automatically get
thread-local bindings in each new process: something like ACL's
*cl-default-special-bindings*
<URL:http://www.franz.com/support/documentation/6.1/doc/pages/variables/excl…>
2) "condition variable" is an unfortunate name as there is already a
similarly named but entirely different CONDITION object in CL
I don't have any good ideas about this one.
3) A process-state reader might be nice
I personally don't see the point, much, unless the semantics of its
allowable values are also defined.
(Personal position: I'm far more concerned about the ability to
write real threaded applications than I am about writing a
replacement for top(1) in CL)
4) Some form of control over process priority
This might be useful if you have for example a foreground display
process that you wish to remain responsive, and a background
computation task that only needs to run when nothing else is
happening.
On the other hand, it might be a fast track to priority inversion
and some form of starvation. Discuss.
A handy summary of some of the various terms involved is at
<URL:http://www.cs.columbia.edu/~hgs/os/sync.html>, for anyone wanting
definitions
-dan
--
"please make sure that the person is your friend before you confirm"