X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fvector.lisp;h=2fa4b85e40f1f00b2543420f2926375b249a79c6;hb=cd1c0c889786b8d43bfc22f0892a17f23c73ab3b;hp=6a000b4a57c565e7ad9319470ab89885647000f1;hpb=a7a4ca961ef0f587a2549bd9433eef7ddb845ab7;p=sbcl.git diff --git a/src/pcl/vector.lisp b/src/pcl/vector.lisp index 6a000b4..2fa4b85 100644 --- a/src/pcl/vector.lisp +++ b/src/pcl/vector.lisp @@ -55,11 +55,11 @@ ;;; used. (defvar *pv-tables* (make-hash-table :test 'equal)) -;;; ...and one lock to rule them. Spinlock because for certain (rare) +;;; ...and one lock to rule them. Lock because for certain (rare) ;;; cases this lock might be grabbed in the course of method dispatch ;;; -- and mostly this is already under the *world-lock* (defvar *pv-lock* - (sb-thread::make-spinlock :name "pv table index lock")) + (sb-thread:make-mutex :name "pv table index lock")) (defun intern-pv-table (&key slot-name-lists) (flet ((intern-slot-names (slot-names) @@ -77,7 +77,7 @@ :pv-size (* 2 (reduce #'+ snl :key (lambda (slots) (length (cdr slots)))))))))) - (sb-thread::with-spinlock (*pv-lock*) + (sb-thread:with-mutex (*pv-lock*) (%intern-pv-table (mapcar #'intern-slot-names slot-name-lists))))) (defun use-standard-slot-access-p (class slot-name type) @@ -663,7 +663,9 @@ ;; args when a next-method is involved, to ;; prevent compiler warnings about ignored ;; args being read. - (unless (and (eq 'ignore name) (member var req-args :test #'eq) (or cnm-p (member var parameters-setqd))) + (unless (and (eq 'ignore name) + (member var req-args :test #'eq) + (or cnm-p (member var parameters-setqd))) (push var outers)) (push var inners))) (when outers