[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Fri May 11 06:52:18 UTC 2012


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

Modified Files:
	ChangeLog swank-sbcl.lisp 
Log Message:
* swank-sbcl.lisp (stream-force-output): Don't use with-deadline.
Grab the world-lock instead.
(condition-timed-wait): Use the :timeout argument.

--- /project/slime/cvsroot/slime/ChangeLog	2012/05/11 06:52:05	1.2337
+++ /project/slime/cvsroot/slime/ChangeLog	2012/05/11 06:52:18	1.2338
@@ -1,5 +1,11 @@
 2012-05-11  Helmut Eller  <heller at common-lisp.net>
 
+	* swank-sbcl.lisp (stream-force-output): Don't use
+	with-deadline. Grab the world-lock instead.
+	(condition-timed-wait): Use the :timeout argument for real.
+
+2012-05-11  Helmut Eller  <heller at common-lisp.net>
+
 	* swank-backend.lisp (call-with-io-timeout): Not used. Deleted.
 	* swank-sbcl.lisp (call-with-io-timeout): Deleted.
 
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2012/05/11 06:52:05	1.319
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2012/05/11 06:52:18	1.320
@@ -1627,11 +1627,9 @@
 
   (defun condition-timed-wait (waitqueue mutex timeout)
     (macrolet ((foo ()
-                 (cond ((and (> (length (sb-introspect:function-lambda-list
-                                         #'sb-thread:condition-wait))
-                                2)
-                             nil  ; FIXME: :timeout doesn't work. Why?
-                             )
+                 (cond ((> (length (sb-introspect:function-lambda-list
+                                    #'sb-thread:condition-wait))
+                           2)
                         '(sb-thread:condition-wait waitqueue mutex
                           :timeout timeout))
                        ((member :sb-lutex *features*) ; Darwin
@@ -1695,12 +1693,8 @@
   (defclass slime-output-stream (fundamental-character-output-stream)
     ())
   (defmethod stream-force-output :around ((stream slime-output-stream))
-    (handler-case
-        (sb-sys:with-deadline (:seconds 0.1)
-          (call-next-method))
-      (sb-sys:deadline-timeout ()
-        nil)))
-
+    (sb-thread:with-mutex (sb-c::**world-lock** :wait-p nil)
+      (call-next-method)))
   )
 
 (defimplementation quit-lisp ()





More information about the slime-cvs mailing list