Blob
1 #include <u.h>2 #include <pthread.h>3 #include <libc.h>5 void6 _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 void17 _procwakeup(_Procrend *rend)18 {19 //print("wakeup %p\n", rend);20 rend->asleep = 0;21 pthread_cond_signal(&rend->cond);22 }