X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Ftarget-thread.lisp;h=218e355a878b089198e2d0efb45fbc1be4caab1f;hb=fe420bb47ea909070ee82c6e48642c9ff41dbcc8;hp=38549a3d55592328a111101d3fc572d867ae0e86;hpb=3ac386bf6520a67343aadce1b3e61f580406b740;p=sbcl.git diff --git a/src/code/target-thread.lisp b/src/code/target-thread.lisp index 38549a3..218e355 100644 --- a/src/code/target-thread.lisp +++ b/src/code/target-thread.lisp @@ -688,8 +688,9 @@ around and can be retrieved by JOIN-THREAD." ;; internal printer variables (sb!impl::*previous-case* nil) (sb!impl::*previous-readtable-case* nil) - (sb!impl::*merge-sort-temp-vector* (vector)) ; keep these small! - (sb!impl::*zap-array-data-temp* (vector)) ; + (empty (vector)) + (sb!impl::*merge-sort-temp-vector* empty) + (sb!impl::*zap-array-data-temp* empty) (sb!impl::*internal-symbol-output-fun* nil) (sb!impl::*descriptor-handlers* nil)) ; serve-event (setf (thread-os-thread thread) (current-thread-sap-id)) @@ -844,6 +845,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))