[slime-cvs] CVS update: slime/swank-sbcl.lisp

Dan Barlow dbarlow at common-lisp.net
Sat Nov 29 22:14:08 UTC 2003


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv11041

Modified Files:
	swank-sbcl.lisp 
Log Message:
Sort out some of the problems with stale serve-event handlers
(note that you also need a fix for sb-bsd-sockets from 0.8.6.x SBCL, 
if this is bothering you)

Date: Sat Nov 29 17:14:08 2003
Author: dbarlow

Index: slime/swank-sbcl.lisp
diff -u slime/swank-sbcl.lisp:1.29 slime/swank-sbcl.lisp:1.30
--- slime/swank-sbcl.lisp:1.29	Fri Nov 28 07:10:41 2003
+++ slime/swank-sbcl.lisp	Sat Nov 29 17:14:07 2003
@@ -7,9 +7,8 @@
 ;;; This code has been placed in the Public Domain.  All warranties are 
 ;;; disclaimed.
 
-;;; This is a rapidly evolving Slime backend for SBCL.  Requires
-;;; bleeding-edge SBCL with the SB-THREAD feature and SB-INTROSPECT
-;;; contrib
+;;; This is a Slime backend for SBCL.  Requires SBCL 0.8.5 or later
+;;; for the SB-INTROSPECT contrib
 
 ;;; Cursory testing has found that the following appear to work
 ;;;
@@ -112,6 +111,8 @@
                   (make-instance 'slime-output-stream)))
          (in (make-instance 'slime-input-stream))
          (io (make-two-way-stream in out)))
+    ;; we're being called from a serve-event handler: remove it now
+    ;; because socket-close doesn't (in 0.8.6 anyway) do it for us
     (sb-sys:invalidate-descriptor (sb-bsd-sockets:socket-file-descriptor
                                    server-socket))
     (sb-bsd-sockets:socket-close server-socket)
@@ -130,8 +131,7 @@
       (slime-read-error (e)
         (when *swank-debug-p*
           (format *debug-io* "~&;; Connection to Emacs lost.~%;; [~A]~%" e))
-        (sb-sys:invalidate-descriptor (sb-sys:fd-stream-fd *emacs-io*))
-        (close *emacs-io*)))))
+        (close *emacs-io* :abort t)))))
 
 ;;; Utilities
 





More information about the slime-cvs mailing list