[Openmcl-cvs-notifications] r11427 - /trunk/source/objc-bridge/objc-support.lisp

gb at clozure.com gb at clozure.com
Tue Nov 25 04:03:17 EST 2008


Author: gb
Date: Tue Nov 25 04:03:17 2008
New Revision: 11427

Log:
Serialize MAYBE-MAP-OBJC-CLASSES.  It might be possible to be less
restrictive here, but we're already doing an ff-call to get the
class count ...

Modified:
    trunk/source/objc-bridge/objc-support.lisp

Modified: trunk/source/objc-bridge/objc-support.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/objc-bridge/objc-support.lisp (original)
+++ trunk/source/objc-bridge/objc-support.lisp Tue Nov 25 04:03:17 2008
@@ -88,17 +88,20 @@
        (note-class-protocols class)
        (install-foreign-objc-class class lookup-in-database-p))))
 =

-(let* ((nclasses 0))
+(let* ((nclasses 0)
+       (lock (make-lock)))
   (declare (fixnum nclasses))
   (defun maybe-map-objc-classes (&optional use-db)
-    (let* ((new (count-objc-classes)))
-      (declare (fixnum new))
-    (unless (=3D nclasses new)
-      (setq nclasses new)
-      (map-objc-classes use-db)
-      t)))
+    (with-lock-grabbed (lock)
+      (let* ((new (count-objc-classes)))
+        (declare (fixnum new))
+        (unless (=3D nclasses new)
+          (setq nclasses new)
+          (map-objc-classes use-db))
+        t)))
   (defun reset-objc-class-count ()
-    (setq nclasses 0)))
+    (with-lock-grabbed (lock)
+      (setq nclasses 0))))
 =

 (register-objc-class-decls)
 (maybe-map-objc-classes t)



More information about the Openmcl-cvs-notifications mailing list