X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fhash-table.lisp;h=933b3905bf6e1177c8992dc6639071e160cea330;hb=71bc8b09fc75083ea4bb2aee954abca1f1e1f214;hp=d72595cc71e0cf9b62f6a2a9203865116bd29166;hpb=a97406ba6e8d843a5681fadbb90b28d41aee44d5;p=sbcl.git diff --git a/src/code/hash-table.lisp b/src/code/hash-table.lisp index d72595c..933b390 100644 --- a/src/code/hash-table.lisp +++ b/src/code/hash-table.lisp @@ -144,6 +144,10 @@ unspecified." ;; Needless to say, this also excludes some internal bits, but ;; getting there is too much detail when "unspecified" says what ;; is important -- unpredictable, but harmless. + `(sb!thread::with-recursive-spinlock ((hash-table-spinlock ,hash-table)) + ,@body)) + +(defmacro-mundanely with-locked-system-table ((hash-table) &body body) `(sb!thread::with-recursive-system-spinlock ((hash-table-spinlock ,hash-table)) ,@body))