/[slime]/slime/swank-ccl.lisp
ViewVC logotype

Diff of /slime/swank-ccl.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by trittweiler, Sat Oct 24 11:32:18 2009 UTC revision 1.10 by heller, Sat Oct 31 08:22:56 2009 UTC
# Line 52  Line 52 
52    
53  (in-package :swank-backend)  (in-package :swank-backend)
54    
 ;; Backward compatibility  
 (eval-when (:compile-toplevel)  
   (unless (fboundp 'ccl:compute-applicable-methods-using-classes)  
     (compile-file (make-pathname :name "swank-openmcl" :type "lisp" :defaults swank-loader::*source-directory*)  
                   :output-file (make-pathname :name "swank-ccl" :defaults swank-loader::*fasl-directory*)  
                   :verbose t)  
     (invoke-restart (find-restart 'ccl::skip-compile-file))))  
   
55  (eval-when (:compile-toplevel :execute :load-toplevel)  (eval-when (:compile-toplevel :execute :load-toplevel)
56    (assert (and (= ccl::*openmcl-major-version* 1)    (assert (and (= ccl::*openmcl-major-version* 1)
57                 (>= ccl::*openmcl-minor-version* 4))                 (>= ccl::*openmcl-minor-version* 4))
# Line 728  Line 720 
720    (queue '() :type list))    (queue '() :type list))
721    
722  (defimplementation spawn (fun &key name)  (defimplementation spawn (fun &key name)
723    (ccl:process-run-function    (flet ((entry ()
724     (or name "Anonymous (Swank)")             (handler-bind ((ccl:process-reset (lambda (c)
725     fun))                                                 (return-from entry c))))
726                 (funcall fun))))
727        (ccl:process-run-function
728         (or name "Anonymous (Swank)")
729         #'entry)))
730    
731  (defimplementation thread-id (thread)  (defimplementation thread-id (thread)
732    (ccl:process-serial-number thread))    (ccl:process-serial-number thread))
733    
# Line 761  Line 757 
757    (ccl:all-processes))    (ccl:all-processes))
758    
759  (defimplementation kill-thread (thread)  (defimplementation kill-thread (thread)
760    (ccl:process-kill thread))    ;;(ccl:process-kill thread) ; doesn't cut it
761      (ccl::process-initial-form-exited thread :kill))
762    
763  (defimplementation thread-alive-p (thread)  (defimplementation thread-alive-p (thread)
764    (not (ccl:process-exhausted-p thread)))    (not (ccl:process-exhausted-p thread)))

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.5