X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-thread.lisp;h=402fe683d03cd139b93ae6f3a2b4139da07e0759;hb=b14a61c6af3e3005c94e633e727177346240066e;hp=d037f45906944ea5bcdf2d9c8e67a67fe7d83895;hpb=9303b3dc86bdfe5193b403de7419dc5bc8cc79e4;p=sbcl.git diff --git a/src/code/target-thread.lisp b/src/code/target-thread.lisp index d037f45..402fe68 100644 --- a/src/code/target-thread.lisp +++ b/src/code/target-thread.lisp @@ -1453,8 +1453,15 @@ See also: RETURN-FROM-THREAD, ABORT-THREAD." (arguments (if (listp arguments) arguments (list arguments))) + #!+win32 + (fp-modes (dpb 0 sb!vm::float-sticky-bits ;; clear accrued bits + (sb!vm:floating-point-modes))) (initial-function (named-lambda initial-thread-function () + ;; Win32 doesn't inherit parent thread's FP modes, + ;; while it seems to happen everywhere else + #!+win32 + (setf (sb!vm:floating-point-modes) fp-modes) ;; As it is, this lambda must not cons until we are ;; ready to run GC. Be very careful. (initial-thread-function-trampoline