From: NIIMI S. <sa...@us...> - 2007-10-20 06:27:26
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv23325/tests Modified Files: clos-add-remove-method.impure.lisp clos-cache.impure.lisp threads.impure.lisp Log Message: 1.0.10.51: New function: THREAD-YIELD An interface to sched_yield(). And use it in busy loops in some tests. Index: clos-add-remove-method.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/clos-add-remove-method.impure.lisp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- clos-add-remove-method.impure.lisp 9 Jun 2007 09:09:07 -0000 1.1 +++ clos-add-remove-method.impure.lisp 20 Oct 2007 06:27:20 -0000 1.2 @@ -77,12 +77,12 @@ (defvar *run* nil) (defun remove-methods (list) - (loop until *run*) + (loop until *run* do (sb-thread:thread-yield)) (dolist (method list) (remove-method #'foo method))) (defun add-methods (list) - (loop until *run*) + (loop until *run* do (sb-thread:thread-yield)) (dolist (method list) (add-method #'foo method))) Index: clos-cache.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/clos-cache.impure.lisp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- clos-cache.impure.lisp 8 Jun 2007 20:38:22 -0000 1.2 +++ clos-cache.impure.lisp 20 Oct 2007 06:27:20 -0000 1.3 @@ -65,7 +65,7 @@ (defun test-loop () (note "/~S waiting for permission to run" sb-thread:*current-thread*) - (loop until *run-cache-test*) + (loop until *run-cache-test* do (sb-thread:thread-yield)) (note "/~S joining the thundering herd" sb-thread:*current-thread*) (handler-case (loop repeat 1024 do (test-cache)) Index: threads.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/threads.impure.lisp,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- threads.impure.lisp 8 Sep 2007 00:18:19 -0000 1.58 +++ threads.impure.lisp 20 Oct 2007 06:27:20 -0000 1.59 @@ -73,7 +73,8 @@ (loop repeat 10 collect (sb-thread:make-thread (lambda () - (loop until run) + (loop until run + do (sb-thread:thread-yield)) (loop repeat n do (,incf x))))))) (setf run t) (dolist (th threads) |