[slime-devel] SIGIO vs. FD-HANDLER

Luke Gorrie luke at bluetail.com
Thu Apr 15 17:55:43 UTC 2004


Ahoy,

In CMUCL and non-threads SBCL we default to using a 'SIGIO' signal
handler to read and execute requests from Emacs. This means that Lisp
is interrupted to immediately serve requests as soon as Emacs sends
them. It is convenient, but it has potential to cause unpredictable
problems.

For me this has been working perfectly, but I've been hearing reports
that some people are having stability problems. If you're using CMUCL
or non-threads SBCL and are finding Lisp unstable under SLIME, please
try adding this to your ~/.swank.lisp:

  (setq swank:*communication-style* :fd-handler)

That way we use the select()-loop instead of signals. It ought to be
very safe, though Lisp will only process requests from Emacs when it's
otherwise idle.

If this solves a problem for you then please let us know. Currently
I'm not sure whether SIGIO or FD-HANDLER makes the better default.

NB: This stuff is covered in the manual under Lisp-Side configuration.

Cheers,
Luke






More information about the slime-devel mailing list