X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fthreads.impure.lisp;h=6dca7f9f9d5445dda4fca05b8240531b6f3d641a;hb=3a2c2a2217f77e0d1a44a581c83e0311ebc2594a;hp=f33577a2545aa11e57827f91e81ca3df11fd7122;hpb=0834142e83d6a1ee99260baa3a8ca1d1557b3737;p=sbcl.git diff --git a/tests/threads.impure.lisp b/tests/threads.impure.lisp index f33577a..6dca7f9 100644 --- a/tests/threads.impure.lisp +++ b/tests/threads.impure.lisp @@ -202,6 +202,31 @@ (loop (when (and a-done b-done) (return)) (sleep 1))) + +(defun waste (&optional (n 100000)) + (loop repeat n do (make-string 16384))) + +(loop for i below 100 do + (format t "LOOP:~A~%" i) + (force-output) + (sb-thread:make-thread + #'(lambda () + (waste))) + (waste) + (sb-ext:gc)) + +(defparameter *aaa* nil) +(loop for i below 100 do + (format t "LOOP:~A~%" i) + (force-output) + (sb-thread:make-thread + #'(lambda () + (let ((*aaa* (waste))) + (waste)))) + (let ((*aaa* (waste))) + (waste)) + (sb-ext:gc)) + (format t "~&gc test done~%") #| ;; a cll post from eric marsden