Esempio n. 1
0
void
runtime·lock(Lock *l)
{
	if(m->locks++ < 0)
		runtime·throw("runtime·lock: lock count");
	futexlock(l);
}
Esempio n. 2
0
void
lock(Lock *l)
{
	if(m->locks < 0)
		throw("lock count");
	m->locks++;
	futexlock(l);
}
Esempio n. 3
0
void
runtime·lock(Lock *l)
{
	if(m->locks < 0)
		runtime·throw("lock count");
	m->locks++;
	futexlock(l);
}
Esempio n. 4
0
void
notesleep(Note *n)
{
	futexlock(&n->lock);
	futexunlock(&n->lock);	// Let other sleepers find out too.
}
Esempio n. 5
0
void
noteclear(Note *n)
{
	n->lock.key = 0;	// memset(n, 0, sizeof *n)
	futexlock(&n->lock);
}