plan9port/src/lib9/rendez-pthread.c
rsc bcf527a98e Continue switching library over to pthreads when possible.
Tprimes works on Linux 2.6.  You can only have 128 procs
though.
2004-09-17 03:34:32 +00:00

23 lines
421 B
C

#include <u.h>
#include <pthread.h>
#include <libc.h>
void
_procsleep(_Procrend *rend)
{
//print("sleep %p %d\n", rend, getpid());
pthread_cond_init(&rend->cond, 0);
rend->asleep = 1;
while(rend->asleep)
pthread_cond_wait(&rend->cond, &rend->l->mutex);
pthread_cond_destroy(&rend->cond);
}
void
_procwakeup(_Procrend *rend)
{
//print("wakeup %p\n", rend);
rend->asleep = 0;
pthread_cond_signal(&rend->cond);
}