1#include "pthread_impl.h"
2
3void __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
9void __unlock(volatile int *l)
10{
11	if (l[0]) {
12		a_store(l, 0);
13		if (l[1]) __wake(l, 1, 1);
14	}
15}
16