;;; In sbcl-0.6.10, Douglas Brebner reported that (SETF EXTERN-ALIEN)
;;; was messed up so badly that trying to execute expressions like
;;; this signalled an error.
-(setf (sb-alien:extern-alien "current_control_stack_pointer" sb-alien:unsigned)
- (sb-alien:extern-alien "current_control_stack_pointer" sb-alien:unsigned))
+(setf (sb-alien:extern-alien "thread_control_stack_size" sb-alien:unsigned)
+ (sb-alien:extern-alien "thread_control_stack_size" sb-alien:unsigned))
;;; bug 133, fixed in 0.7.0.5: Somewhere in 0.pre7.*, C void returns
;;; were broken ("unable to use values types here") when
(setf (gethash 5 *table*) 13)
(gethash 5 *table*))
-(with-test (:name (:no-consing :hash-tables))
+;; This fails on threaded PPC because the hash-table implementation
+;; uses recursive system spinlocks, which cons (see below for test
+;; (:no-consing :spinlock), which also fails on threaded PPC).
+(with-test (:name (:no-consing :hash-tables) :fails-on (and :ppc :sb-thread))
(assert-no-consing (test-hash-table)))
;;; with-spinlock and with-mutex should use DX and not cons
(true *mutex*)))
#+sb-thread
-(with-test (:name (:no-consing :mutex))
+(with-test (:name (:no-consing :mutex) :fails-on :ppc)
(assert-no-consing (test-mutex)))
#+sb-thread
-(with-test (:name (:no-consing :spinlock))
+(with-test (:name (:no-consing :spinlock) :fails-on :ppc)
(assert-no-consing (test-spinlock)))
\f
(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.")
;;; running out of stack (due to repeating timers being rescheduled
;;; before they ran) and dying threads were open interrupts.
#+sb-thread
-(with-test (:name (:timer :parallel-unschedule))
+(with-test (:name (:timer :parallel-unschedule) :fails-on :ppc)
#+darwin
(error "Prone to hang on Darwin due to interrupt issues.")
+ #+ppc
+ (error "Prone to hang the host on linux/ppc for unknown reasons.")
(let ((timer (sb-ext:make-timer (lambda () 42) :name "parallel schedulers"))
(other nil))
(flet ((flop ()
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.41.40"
+"1.0.41.41"