1.0.44.33: ir2tran: Correctly set up d-x closure values for tail-local-calls.
[sbcl.git] / tests / threads.impure.lisp
index 0e43d62..5f9128f 100644 (file)
@@ -17,7 +17,7 @@
 (use-package :test-util)
 (use-package "ASSERTOID")
 
-(setf sb-unix::*on-dangerous-select* :error)
+(setf sb-unix::*on-dangerous-wait* :error)
 
 (defun wait-for-threads (threads)
   (mapc (lambda (thread) (sb-thread:join-thread thread :default nil)) threads)
 
 (with-open-file (o "threads-foreign.c" :direction :output :if-exists :supersede)
   (format o "void loop_forever() { while(1) ; }~%"))
-(sb-ext:run-program
- #-sunos "cc" #+sunos "gcc"
- (or #+(or linux freebsd sunos) '(#+x86-64 "-fPIC"
-                                  "-shared" "-o" "threads-foreign.so" "threads-foreign.c")
-     #+darwin '(#+x86-64 "-arch" #+x86-64 "x86_64"
-                "-dynamiclib" "-o" "threads-foreign.so" "threads-foreign.c")
-     (error "Missing shared library compilation options for this platform"))
- :search t)
+(sb-ext:run-program "/bin/sh"
+                    '("run-compiler.sh" "-sbcl-pic" "-sbcl-shared"
+                      "-o" "threads-foreign.so" "threads-foreign.c")
+                    :environment (test-util::test-env))
 (sb-alien:load-shared-object (truename "threads-foreign.so"))
 (sb-alien:define-alien-routine loop-forever sb-alien:void)
 (delete-file "threads-foreign.c")
 
 (format t "~&multi interrupt test done~%")
 
+#+(or x86 x86-64) ;; x86oid-only, see internal commentary.
 (with-test (:name (:interrupt-thread :interrupt-consing-child :again))
   #+darwin
   (error "Hangs on Darwin.")