I posted this issue, along with a patch, the first of August. Luke Gorrie replied:
The fix looks right, but it's not working for me. Actually I seem to be having some weird problems reconnecting to SBCL when running `M-x slime' repeatedly.
Thanks for the patch, I'll need to investigate the weirdness a bit before applying.
Unfortunately I was stupid and forgot to put the patch in unidiff format, and I think it fell through the cracks.
Someone said they thought the issue was fixed in a recent version of SBCL, but I've just tested Slime 1.0 with SBCL 0.8.14 on Slackware 10.0, and the issue still exists. My (now unidiff) patch was made against slime-1.0beta, but it still seems to fix the problem.
The patch is included below.
-A
Maxint Consulting
Linux: The ultimate video game.
Common subdirectories: slime-1.0beta/doc and lib/emacs/slime-1.0beta/doc diff -u slime-1.0beta/swank.lisp lib/emacs/slime-1.0beta/swank.lisp --- slime-1.0beta/swank.lisp Tue Aug 3 06:39:02 2004 +++ lib/emacs/slime-1.0beta/swank.lisp Wed Aug 4 23:21:57 2004 @@ -504,6 +504,10 @@ (setf (connection.repl-thread connection) repl-thread) connection)))
+(defun cleanup-connection-threads (connection) + (kill-thread (connection.control-thread connection)) + (kill-thread (connection.repl-thread connection))) + (defun repl-loop (connection) (with-connection (connection) (loop (handle-request connection)))) @@ -610,7 +614,8 @@ (make-connection :socket-io socket-io :read #'read-from-control-thread :send #'send-to-control-thread - :serve-requests #'spawn-threads-for-connection)) + :serve-requests #'spawn-threads-for-connection + :cleanup #'cleanup-connection-threads)) (:sigio (make-connection :socket-io socket-io :read #'read-from-socket-io Only in lib/emacs/slime-1.0beta: swank.lisp~