1 2 3 4 5 6 7 8
#include "pthread_impl.h" #include <errno.h> int pthread_spin_lock(pthread_spinlock_t *s) { while (*(volatile int *)s || a_cas(s, 0, EBUSY)) a_spin(); return 0; }