X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-thread.lisp;h=b60ce7195c0bd114886e9ccc9bddd7268a47ee0a;hb=5dbc64f47b6106b196a0286f1c3e2c66c17ee14d;hp=ec94be8625ac18b238977fc81a904b4e632ad0be;hpb=513aec1c69b8ad9a7d90a46013352725fe0b0a48;p=sbcl.git diff --git a/src/code/target-thread.lisp b/src/code/target-thread.lisp index ec94be8..b60ce71 100644 --- a/src/code/target-thread.lisp +++ b/src/code/target-thread.lisp @@ -250,7 +250,8 @@ ALLOW-WITH-INTERRUPTS allows the call to be interrupted from sleep. It is recommended that you use WITH-MUTEX instead of calling GET-MUTEX directly." - (declare (type mutex mutex) (optimize (speed 3))) + (declare (type mutex mutex) (optimize (speed 3)) + #!-sb-thread (ignore waitp)) (unless new-owner (setq new-owner *current-thread*)) (when (eql new-owner (mutex-%owner mutex)) @@ -682,6 +683,7 @@ around and can be retrieved by JOIN-THREAD." (*restart-clusters* nil) (*handler-clusters* nil) (*condition-restarts* nil) + (sb!impl::*deadline* nil) (sb!impl::*step-out* nil) ;; internal printer variables (sb!impl::*previous-case* nil) @@ -842,6 +844,12 @@ SB-EXT:QUIT - the usual cleanup forms will be evaluated" (sap-ref-sap thread-sap (* sb!vm:n-word-bytes sb!vm::thread-next-slot))))))) +(define-alien-routine "thread_yield" int) + +#!+sb-doc +(setf (fdocumentation 'thread-yield 'function) + "Yield the processor to other threads.") + #!+sb-thread (defun symbol-value-in-thread (symbol thread-sap) (let* ((index (sb!vm::symbol-tls-index symbol))