1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#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; } #ifdef TEST int main(void) { return 0; } #endif