[slime-cvs] CVS slime
CVS User heller
heller at common-lisp.net
Sat Oct 31 08:22:56 UTC 2009
Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv25063
Modified Files:
ChangeLog swank-backend.lisp swank-ccl.lisp
Log Message:
* swank-ccl.lisp (kill-thread): Don't signal conditions.
* swank-backend.lisp (kill-thread): Update docstring.
--- /project/slime/cvsroot/slime/ChangeLog 2009/10/30 19:39:34 1.1898
+++ /project/slime/cvsroot/slime/ChangeLog 2009/10/31 08:22:56 1.1899
@@ -1,3 +1,8 @@
+2009-10-31 Helmut Eller <heller at common-lisp.net>
+
+ * swank-ccl.lisp (kill-thread): Don't signal conditions.
+ * swank-backend.lisp (kill-thread): Update docstring.
+
2009-10-30 Stas Boukarev <stassats at gmail.com>
* swank-loader.lisp (setup): Use EXT:PROBE-DIRECTORY on Clisp,
--- /project/slime/cvsroot/slime/swank-backend.lisp 2009/09/20 09:39:16 1.181
+++ /project/slime/cvsroot/slime/swank-backend.lisp 2009/10/31 08:22:56 1.182
@@ -1057,7 +1057,9 @@
"Cause THREAD to execute FN.")
(definterface kill-thread (thread)
- "Kill THREAD."
+ "Terminate THREAD immediately.
+Don't execute unwind-protected sections, don't raise conditions.
+(Do not pass go, do not collect $200.)"
(declare (ignore thread))
nil)
--- /project/slime/cvsroot/slime/swank-ccl.lisp 2009/10/30 10:57:55 1.9
+++ /project/slime/cvsroot/slime/swank-ccl.lisp 2009/10/31 08:22:56 1.10
@@ -720,10 +720,14 @@
(queue '() :type list))
(defimplementation spawn (fun &key name)
- (ccl:process-run-function
- (or name "Anonymous (Swank)")
- fun))
-
+ (flet ((entry ()
+ (handler-bind ((ccl:process-reset (lambda (c)
+ (return-from entry c))))
+ (funcall fun))))
+ (ccl:process-run-function
+ (or name "Anonymous (Swank)")
+ #'entry)))
+
(defimplementation thread-id (thread)
(ccl:process-serial-number thread))
@@ -753,7 +757,8 @@
(ccl:all-processes))
(defimplementation kill-thread (thread)
- (ccl:process-kill thread))
+ ;;(ccl:process-kill thread) ; doesn't cut it
+ (ccl::process-initial-form-exited thread :kill))
(defimplementation thread-alive-p (thread)
(not (ccl:process-exhausted-p thread)))
More information about the slime-cvs
mailing list