github.com/afumu/libc@v0.0.6/musl/src/thread/pthread_spin_lock.c (about)

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