+/*
+ * Remove a process from its wait queue
+ */
+unsleep(p)
+register struct proc *p;
+{
+ register struct proc **hp;
+ register s;
+
+ s = spl6();
+ if (p->p_wchan) {
+ hp = &slpque[HASH(p->p_wchan)];
+ while (*hp != p)
+ hp = &(*hp)->p_link;
+ *hp = p->p_link;
+ p->p_wchan = 0;
+ }
+ splx(s);
+}
+