+ (allow-with-interrupts (%call-with-system-spinlock))))))
+
+ (defun call-with-spinlock (function spinlock)
+ (declare (function function))
+ (dx-let ((got-it nil))
+ (without-interrupts
+ (unwind-protect
+ (when (setf got-it (allow-with-interrupts
+ (get-spinlock spinlock)))
+ (with-local-interrupts (funcall function)))
+ (when got-it
+ (release-spinlock spinlock))))))