[slime-cvs] CVS update: slime/swank-backend.lisp slime/swank-lispworks.lisp slime/swank-cmucl.lisp slime/swank-allegro.lisp
Helmut Eller
heller at common-lisp.net
Tue Sep 27 21:50:41 UTC 2005
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv7264
Modified Files:
swank-backend.lisp swank-lispworks.lisp swank-cmucl.lisp
swank-allegro.lisp
Log Message:
(startup-multiprocessing): Deleted.
(initialize-multiprocessing, startup-idle-and-top-level-loops): The
replacements for startup-multiprocessing. startup-idle-and-top-level-loops is
only needed for CMUCL, but initialize-multiprocessing is useful for other too.
Date: Tue Sep 27 23:50:39 2005
Author: heller
Index: slime/swank-backend.lisp
diff -u slime/swank-backend.lisp:1.88 slime/swank-backend.lisp:1.89
--- slime/swank-backend.lisp:1.88 Thu Sep 22 22:17:32 2005
+++ slime/swank-backend.lisp Tue Sep 27 23:50:38 2005
@@ -745,10 +745,12 @@
;;; The default implementations are sufficient for non-multiprocessing
;;; implementations.
-(definterface startup-multiprocessing ()
- "Initialize multiprocessing, if necessary.
+(definterface initialize-multiprocessing ()
+ "Initialize multiprocessing, if necessary."
+ nil)
-This function is called directly through the listener, not in an RPC
+(definterface startup-idle-and-top-level-loops ()
+ "This function is called directly through the listener, not in an RPC
from Emacs. This is to support interfaces such as CMUCL's
MP::STARTUP-IDLE-AND-TOP-LEVEL-LOOPS which does not return like a
normal function."
Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.79 slime/swank-lispworks.lisp:1.80
--- slime/swank-lispworks.lisp:1.79 Thu Sep 22 22:20:43 2005
+++ slime/swank-lispworks.lisp Tue Sep 27 23:50:38 2005
@@ -676,7 +676,7 @@
;;; Multithreading
-(defimplementation startup-multiprocessing ()
+(defimplementation initialize-multiprocessing ()
(mp:initialize-multiprocessing))
(defimplementation spawn (fn &key name)
Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.154 slime/swank-cmucl.lisp:1.155
--- slime/swank-cmucl.lisp:1.154 Wed Sep 21 13:40:08 2005
+++ slime/swank-cmucl.lisp Tue Sep 27 23:50:38 2005
@@ -182,8 +182,7 @@
(buffer (make-string 8000) :type string)
(index 0 :type kernel:index)
(column 0 :type kernel:index)
- (last-flush-time (get-internal-real-time) :type unsigned-byte)
- )
+ (last-flush-time (get-internal-real-time) :type unsigned-byte))
(defun %print-slime-output-stream (s stream d)
(declare (ignore d))
@@ -225,17 +224,21 @@
(unless (zerop end)
(let ((s (subseq (sos.buffer stream) 0 end)))
(setf (sos.index stream) 0)
- (funcall (sos.output-fn stream) s)))
- (setf (sos.last-flush-time stream) (get-internal-real-time)))
+ (funcall (sos.output-fn stream) s))
+ (setf (sos.last-flush-time stream) (get-internal-real-time))))
nil)
(:force-output
(log-stream-op stream operation)
- (let ((last (sos.last-flush-time stream))
- (now (get-internal-real-time)))
+ (unless (or (zerop (sos.index stream))
+ (loop with buffer = (sos.buffer stream)
+ for i from 0 below (sos.index stream)
+ always (char= (aref buffer i) #\newline)))
+ (let ((last (sos.last-flush-time stream))
+ (now (get-internal-real-time)))
(when (> (/ (- now last)
(coerce internal-time-units-per-second 'double-float))
- 0.2)
- (finish-output stream)))
+ 0.1)
+ (finish-output stream))))
nil)
(:charpos (sos.column stream))
(:line-length 75)
@@ -2009,7 +2012,10 @@
#+mp
(progn
- (defimplementation startup-multiprocessing ()
+ (defimplementation initialize-multiprocessing ()
+ (mp::init-multi-processing))
+
+ (defimplementation startup-idle-and-top-level-loops ()
;; Threads magic: this never returns! But top-level becomes
;; available again.
(mp::startup-idle-and-top-level-loops))
Index: slime/swank-allegro.lisp
diff -u slime/swank-allegro.lisp:1.77 slime/swank-allegro.lisp:1.78
--- slime/swank-allegro.lisp:1.77 Thu Sep 22 22:20:43 2005
+++ slime/swank-allegro.lisp Tue Sep 27 23:50:38 2005
@@ -518,7 +518,7 @@
;;;; Multithreading
-(defimplementation startup-multiprocessing ()
+(defimplementation initialize-multiprocessing ()
(mp:start-scheduler))
(defimplementation spawn (fn &key name)
More information about the slime-cvs
mailing list