> +int > +pthread_spin_lock (pthread_spinlock_t *lock) > +{ > + while (atomic_compare_and_exchange_val_acq (lock, 1, 0) != 0) > + while (*lock != 0) > + ; What's the inner loop for?