0874c04a4c0a81a9fa0dc032479ec18cec81d8aa
[musl] / src / thread / __lock.c
1 #include "pthread_impl.h"
2
3 void __lock(volatile int *l)
4 {
5         if (libc.threads_minus_1)
6                 while (a_swap(l, 1)) __wait(l, l+1, 1, 1);
7 }
8
9 void __unlock(volatile int *l)
10 {
11         if (l[0]) {
12                 a_store(l, 0);
13                 if (l[1]) __wake(l, 1, 1);
14         }
15 }