Blame


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