aboutsummaryrefslogtreecommitdiff
path: root/src/thread/pthread_spin_lock.c
blob: c77173cb2be1b0c05f24fa9615812f491c347368 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "pthread_impl.h"
#include <errno.h>

int pthread_spin_lock(pthread_spinlock_t *s)
{
	while (*(volatile int *)s || a_cas(s, 0, EBUSY)) a_spin();
	return 0;
}


#ifdef TEST
int
main(void) {
	return 0;
}
#endif