blob: 2f345ae7af02153c1bffbd5cbfc0f0be860127a6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
#include "pthread_impl.h"
void __lock(volatile int *l)
{
while (a_swap(l, 1)) __wait(l, l+1, 1, 1);
}
void __unlock(volatile int *l)
{
a_store(l, 0);
if (l[1]) __wake(l, 1, 1);
}
|