Blob


1 #include <u.h>
2 #include <pthread.h>
3 #include <libc.h>
5 void
6 _procsleep(_Procrend *rend)
7 {
8 //print("sleep %p %d\n", rend, getpid());
9 pthread_cond_init(&rend->cond, 0);
10 rend->asleep = 1;
11 while(rend->asleep)
12 pthread_cond_wait(&rend->cond, &rend->l->mutex);
13 pthread_cond_destroy(&rend->cond);
14 }
16 void
17 _procwakeup(_Procrend *rend)
18 {
19 //print("wakeup %p\n", rend);
20 rend->asleep = 0;
21 pthread_cond_signal(&rend->cond);
22 }