X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fpthread_spin_lock.c;h=ded2b653c4751db88f288af6b84f92a7341263b3;hb=4554f155dd23a65fcdfd39f1d5af8af55ba37694;hp=59fa6ea89ad2e322f0071724c7ab09275a4a3258;hpb=117581ca69ec2a9c341390eed353646b47a512df;p=musl diff --git a/src/thread/pthread_spin_lock.c b/src/thread/pthread_spin_lock.c index 59fa6ea8..ded2b653 100644 --- a/src/thread/pthread_spin_lock.c +++ b/src/thread/pthread_spin_lock.c @@ -1,7 +1,8 @@ #include "pthread_impl.h" +#include int pthread_spin_lock(pthread_spinlock_t *s) { - while (a_xchg(s, 1)); + while (*(volatile int *)s || a_cas(s, 0, EBUSY)) a_spin(); return 0; }