summaryrefslogtreecommitdiff
path: root/sys/kern/kern_synch.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_synch.c')
-rw-r--r--sys/kern/kern_synch.c14
1 files changed, 5 insertions, 9 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