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