diff -ru /cvs/sys_old/dev/mlx/mlx.c /usr/src/sys/dev/mlx/mlx.c --- /cvs/sys_old/dev/mlx/mlx.c Fri Jan 19 19:47:18 2001 +++ /usr/src/sys/dev/mlx/mlx.c Fri Jan 19 21:48:38 2001 @@ -2215,7 +2215,7 @@ /* remove from list and wake up sleeper */ TAILQ_REMOVE(&sc->mlx_work, mc, mc_link); - wakeup_one(mc->mc_private); + (void)wakeup_one(mc->mc_private); /* * Leave the command for a caller that's polling for it. diff -ru /cvs/sys_old/dev/twe/twe.c /usr/src/sys/dev/twe/twe.c --- /cvs/sys_old/dev/twe/twe.c Fri Jan 19 19:47:28 2001 +++ /usr/src/sys/dev/twe/twe.c Fri Jan 19 22:16:21 2001 @@ -1102,7 +1102,7 @@ } else if (tr->tr_flags & TWE_CMD_SLEEPER) { /* caller is asleep waiting */ debug(2, "wake up command owner on %p", tr); - wakeup_one(tr); + (void)wakeup_one(tr); } else { /* caller is polling command */ debug(2, "command left for owner"); diff -ru /cvs/sys_old/dev/vinum/vinumconfig.c /usr/src/sys/dev/vinum/vinumconfig.c --- /cvs/sys_old/dev/vinum/vinumconfig.c Fri Jan 19 19:47:30 2001 +++ /usr/src/sys/dev/vinum/vinumconfig.c Fri Jan 19 22:16:46 2001 @@ -2057,7 +2057,7 @@ vinum_conf.flags &= ~VF_CONFIGURING; /* and now other people can take a turn */ if ((vinum_conf.flags & VF_WILL_CONFIGURE) != 0) { vinum_conf.flags &= ~VF_WILL_CONFIGURE; - wakeup_one(&vinum_conf); + (void)wakeup_one(&vinum_conf); } } /* Local Variables: */ diff -ru /cvs/sys_old/dev/vinum/vinumlock.c /usr/src/sys/dev/vinum/vinumlock.c --- /cvs/sys_old/dev/vinum/vinumlock.c Fri Jan 19 19:47:31 2001 +++ /usr/src/sys/dev/vinum/vinumlock.c Fri Jan 19 22:17:46 2001 @@ -217,8 +217,8 @@ lock->stripe = 0; /* no longer used */ plex->usedlocks--; /* one less lock */ if (plex->usedlocks == PLEX_LOCKS - 1) /* we were full, */ - wakeup_one(&plex->usedlocks); /* get a waiter if one's there */ - wakeup_one((void *) lock); + (void)wakeup_one(&plex->usedlocks); /* get a waiter if one's there */ + (void)wakeup_one((void *) lock); } /* Get a lock for the global config, wait if it's not available */ diff -ru /cvs/sys_old/kern/kern_synch.c /usr/src/sys/kern/kern_synch.c --- /cvs/sys_old/kern/kern_synch.c Fri Jan 19 19:47:55 2001 +++ /usr/src/sys/kern/kern_synch.c Fri Jan 19 20:32:20 2001 @@ -840,14 +840,17 @@ * Make a process sleeping on the specified identifier runnable. * May wake more than one process if a target process is currently * swapped out. + * + * Return 0 if nothing was awoken, and the value 1 if a process was + * succesfully removed from the sleep queue. */ -void +int wakeup_one(ident) - register void *ident; + void *ident; { - register struct slpquehead *qp; - register struct proc *p; - int s; + struct slpquehead *qp; + struct proc *p; + int s, awoke = 0; s = splhigh(); mtx_enter(&sched_lock, MTX_SPIN); @@ -869,6 +872,7 @@ if (p->p_flag & P_INMEM) { setrunqueue(p); maybe_resched(p); + awoke = 1; break; } else { p->p_flag |= P_SWAPINREQ; @@ -880,6 +884,7 @@ } mtx_exit(&sched_lock, MTX_SPIN); splx(s); + return (awoke); } /* diff -ru /cvs/sys_old/kern/uipc_socket2.c /usr/src/sys/kern/uipc_socket2.c --- /cvs/sys_old/kern/uipc_socket2.c Fri Jan 19 19:47:56 2001 +++ /usr/src/sys/kern/uipc_socket2.c Fri Jan 19 22:19:54 2001 @@ -125,7 +125,7 @@ TAILQ_INSERT_TAIL(&head->so_comp, so, so_list); so->so_state |= SS_COMP; sorwakeup(head); - wakeup_one(&head->so_timeo); + (void)wakeup_one(&head->so_timeo); } else { wakeup(&so->so_timeo); sorwakeup(so); diff -ru /cvs/sys_old/kern/uipc_syscalls.c /usr/src/sys/kern/uipc_syscalls.c --- /cvs/sys_old/kern/uipc_syscalls.c Fri Jan 19 19:47:56 2001 +++ /usr/src/sys/kern/uipc_syscalls.c Fri Jan 19 22:20:16 2001 @@ -270,7 +270,7 @@ */ TAILQ_INSERT_HEAD(&head->so_comp, so, so_list); head->so_qlen++; - wakeup_one(&head->so_timeo); + (void)wakeup_one(&head->so_timeo); splx(s); goto done; } @@ -1479,7 +1479,7 @@ SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); if (sf_buf_alloc_want) { sf_buf_alloc_want--; - wakeup_one(&sf_freelist); + (void)wakeup_one(&sf_freelist); } mtx_exit(&sf_freelist.sf_lock, MTX_DEF); } diff -ru /cvs/sys_old/sys/mbuf.h /usr/src/sys/sys/mbuf.h --- /cvs/sys_old/sys/mbuf.h Fri Jan 19 19:48:38 2001 +++ /usr/src/sys/sys/mbuf.h Fri Jan 19 22:18:45 2001 @@ -275,7 +275,7 @@ #define MBWAKEUP(m_wid) do { \ if ((m_wid)) { \ m_wid--; \ - wakeup_one(&(m_wid)); \ + (void)wakeup_one(&(m_wid)); \ } \ } while (0) diff -ru /cvs/sys_old/sys/systm.h /usr/src/sys/sys/systm.h --- /cvs/sys_old/sys/systm.h Fri Jan 19 19:48:39 2001 +++ /usr/src/sys/sys/systm.h Fri Jan 19 20:33:01 2001 @@ -263,7 +263,7 @@ #define await(pri, timo) mawait(NULL, pri, timo) int mawait __P((struct mtx *mtx, int pri, int timo)); void wakeup __P((void *chan)); -void wakeup_one __P((void *chan)); +int wakeup_one __P((void *chan)); /* * Common `dev_t' stuff are declared here to avoid #include poisoning diff -ru /cvs/sys_old/ufs/ffs/ffs_softdep.c /usr/src/sys/ufs/ffs/ffs_softdep.c --- /cvs/sys_old/ufs/ffs/ffs_softdep.c Fri Jan 19 19:48:40 2001 +++ /usr/src/sys/ufs/ffs/ffs_softdep.c Fri Jan 19 22:19:32 2001 @@ -540,12 +540,12 @@ if (req_clear_inodedeps) { clear_inodedeps(p); req_clear_inodedeps -= 1; - wakeup_one(&proc_waiting); + (void)wakeup_one(&proc_waiting); } if (req_clear_remove) { clear_remove(p); req_clear_remove -= 1; - wakeup_one(&proc_waiting); + (void)wakeup_one(&proc_waiting); } loopcount = 1; starttime = time_second; @@ -559,12 +559,12 @@ if (req_clear_inodedeps) { clear_inodedeps(p); req_clear_inodedeps -= 1; - wakeup_one(&proc_waiting); + (void)wakeup_one(&proc_waiting); } if (req_clear_remove) { clear_remove(p); req_clear_remove -= 1; - wakeup_one(&proc_waiting); + (void)wakeup_one(&proc_waiting); } /* * We do not generally want to stop for buffer space, but if @@ -4491,7 +4491,7 @@ { *stat_countp += 1; - wakeup_one(&proc_waiting); + (void)wakeup_one(&proc_waiting); if (proc_waiting > 0) handle = timeout(pause_timer, 0, tickdelay > 2 ? tickdelay : 2); else