On Wed, Jan 21, 2004 at 12:07:18AM +0100, Helmut Eller wrote:
This is configurable. By default we use 2 connections. The second connection is only used for "raw" output to Emacs; it's a pure performance optimization. If you set *use-dedicated-output-stream* to nil (e.g., in your .swank.lisp), SLIME uses only a single connection.
Great! I'll give this a try.
I'd like to note, that interrupting a remote Lisp will not work, because we use Unix signals for this. Proposals how we could interrupt a remote Lisp are most welcome.
Tricky. As a completely off-the-cuff idea which would only work with threaded lisps:
The thread which runs the swank network connection has a policy of never blocking to run arbitrary lisp code. Any request to do anything will be handed off to (1-n) worker threads whose job it is to run the request. To interrupt, send an interrupt request to the swank server, which can receive it since it is never blocked. It can then issue a break to the appropriate job thread. (In SBCL, (sb-thread:interrupt-thread thread #'break), which hopefully would trigger the slime debugger. There are a ton of deadlock issues with interrupt-thread, unfortunatly.)
-bcd -- *** Brian Downing <bdowning at lavos dot net>