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

Helmut Eller heller at common-lisp.net
Tue Mar 23 21:34:19 UTC 2004


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

Modified Files:
	swank-allegro.lisp 
Log Message:
(send): Wait a bit if there are already many message in the mailbox.
Date: Tue Mar 23 16:34:19 2004
Author: heller

Index: slime/swank-allegro.lisp
diff -u slime/swank-allegro.lisp:1.24 slime/swank-allegro.lisp:1.25
--- slime/swank-allegro.lisp:1.24	Thu Mar 18 16:53:27 2004
+++ slime/swank-allegro.lisp	Tue Mar 23 16:34:18 2004
@@ -307,6 +307,11 @@
 (defimplementation send (thread message)
   (let* ((mbox (mailbox thread))
          (mutex (mailbox.mutex mbox)))
+    (mp:process-wait-with-timeout 
+     "yielding before sending" 0.1
+     (lambda ()
+       (mp:with-process-lock (mutex)
+         (< (length (mailbox.queue mbox) 10)))))
     (mp:with-process-lock (mutex)
       (setf (mailbox.queue mbox)
             (nconc (mailbox.queue mbox) (list message))))))





More information about the slime-cvs mailing list