Multiple thread support?

Daniel Barlow <[email protected]>
Newsgroups gmane.lisp.ilisp.devel
Message-ID <[email protected]>
Some of the subscribers to this list may already know that I'm working
on multiple thread support for SBCL (having some degree of success,
too :-)

ILISP is my preferred (or at any rate, least unpreferred) Lisp
development environment right now, but afaik doesn't have a lot of
support for Lisps running multiple threads.  Does anyone have any
ideas?  I think the basic issues are

- we'd like to be able to run multiple *inferior-lisp* buffers each attached
  to a different thread

- when a "background" thread signals an unhandled condition and wants
  to enter the debugger, where does it do i/o?

I don't really want a solution that has the Lisp open up another
listening TCP socket for each thread; it's less manageable and more
complex to secure (especially if I want to connect to a lisp running
across the network, I need to start worrying about ssh port forwarding
or similar).  My current plan for SBCL is that background threads use
the POSIX job control stuff (session leaders, process groups,
controlling tty etc) to arbitrate access to the terminal, so I guess
ILISP would have to look for messages of the form ";;; background
thread 111432 (job 3) stopped on *standard-output* read" and put them in the
emacs echo area where the user would see them and run M-x
ilisp-connect-job 3 or something.

Hmm.  Lots of possibilities, really.  Quite aside from the
implementation, what interfaces would people like to see?


-dan

-- 

   http://www.cliki.net/ - Link farm for free CL-on-Unix resources 


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.