diff options
-rw-r--r-- | sys/kern/kern_synch.c | 14 | ||||
-rw-r--r-- | sys/sys/systm.h | 4 |
2 files changed, 7 insertions, 11 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 084a194c847..f1db615348b 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -350,13 +350,13 @@ unsleep(struct proc *p) /* * Make a number of processes sleeping on the specified identifier runnable. */ -int +void wakeup_n(const volatile void *ident, int n) { struct slpque *qp; struct proc *p; struct proc *pnext; - int s, woken = 0; + int s; SCHED_LOCK(s); qp = &slpque[LOOKUP(ident)]; @@ -370,24 +370,20 @@ wakeup_n(const volatile void *ident, int n) --n; p->p_wchan = 0; TAILQ_REMOVE(qp, p, p_runq); - if (p->p_stat == SSLEEP) { + if (p->p_stat == SSLEEP) setrunnable(p); - woken++; - } } } SCHED_UNLOCK(s); - - return (woken); } /* * Make all processes sleeping on the specified identifier runnable. */ -int +void wakeup(const volatile void *chan) { - return (wakeup_n(chan, -1)); + wakeup_n(chan, -1); } int diff --git a/sys/sys/systm.h b/sys/sys/systm.h index bd5a39f1d5d..dd3823db0c8 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -250,8 +250,8 @@ int sleep_finish_signal(struct sleep_state *); void sleep_queue_init(void); struct mutex; -int wakeup_n(const volatile void *, int); -int wakeup(const volatile void *); +void wakeup_n(const volatile void *, int); +void wakeup(const volatile void *); #define wakeup_one(c) wakeup_n((c), 1) int tsleep(const volatile void *, int, const char *, int); int msleep(const volatile void *, struct mutex *, int, const char*, int); |