X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fstd-class.lisp;h=043e0da3dad61d7b6a10cedd91e57c7a057c3eb5;hb=aebbc5aad31f7e55930c996a8c54f0a135e00894;hp=49aaa87b3e98134a3a127b51e21aa8f10b2e9ad6;hpb=95345bb533def44122ad6a1f61f06c3a0be3e9e3;p=sbcl.git diff --git a/src/pcl/std-class.lisp b/src/pcl/std-class.lisp index 49aaa87..043e0da 100644 --- a/src/pcl/std-class.lisp +++ b/src/pcl/std-class.lisp @@ -449,7 +449,8 @@ (when (neq supplied-supers unsupplied) (list :direct-superclasses (mapcar #'fix-super supplied-supers))) (when (neq supplied-slots unsupplied) - (list :direct-slots supplied-slots)))))) + (list :direct-slots supplied-slots)) + initargs)))) (defmethod shared-initialize :after ((class std-class) @@ -1166,7 +1167,7 @@ (wrapper-instance-slots-layout owrapper)) (setf (wrapper-class-slots nwrapper) (wrapper-class-slots owrapper)) - (sb-sys:without-interrupts + (with-pcl-lock (update-lisp-class-layout class nwrapper) (setf (slot-value class 'wrapper) nwrapper) (invalidate-wrapper owrapper :flush nwrapper)))))) @@ -1186,7 +1187,7 @@ (wrapper-instance-slots-layout owrapper)) (setf (wrapper-class-slots nwrapper) (wrapper-class-slots owrapper)) - (sb-sys:without-interrupts + (with-pcl-lock (update-lisp-class-layout class nwrapper) (setf (slot-value class 'wrapper) nwrapper) (invalidate-wrapper owrapper :obsolete nwrapper)