get rid of *EQL-SPECIALIZER-TABLE-LOCK*
authorNikodemus Siivola <nikodemus@random-state.net>
Sun, 20 Mar 2011 18:36:01 +0000 (18:36 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 20 Mar 2011 18:36:01 +0000 (18:36 +0000)
  Use WITH-LOCKED-HASH-TABLE instead.

src/pcl/defs.lisp
version.lisp-expr

index 2085f9e..21f0eb8 100644 (file)
 
 (defvar *eql-specializer-table* (make-hash-table :test 'eql))
 
-(defvar *eql-specializer-table-lock*
-  (sb-thread::make-spinlock :name "EQL-specializer table lock"))
-
 (defun intern-eql-specializer (object)
   ;; Need to lock, so that two threads don't get non-EQ specializers
   ;; for an EQL object.
-  (sb-thread::with-spinlock (*eql-specializer-table-lock*)
+  (with-locked-hash-table (*eql-specializer-table*)
     (or (gethash object *eql-specializer-table*)
         (setf (gethash object *eql-specializer-table*)
               (make-instance 'eql-specializer :object object)))))
index aceeb6f..bd1fc2d 100644 (file)
@@ -20,4 +20,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.46.38"
+"1.0.46.39"