FreeBSD/sys/kern/kern_synch.c
/*
 * Make all threads sleeping on the specified identifier runnable.
 */
Make all threads sleeping on the specified identifier runnable.
Make all threads sleeping on the specified identifier runnable .
void
wakeup(void *ident)
{
	int wakeup_swapper;
	sleepq_lock(ident);
	wakeup_swapper = sleepq_broadcast(ident, SLEEPQ_SLEEP, 0, 0);
	sleepq_release(ident);
	if (wakeup_swapper) {
		KASSERT(ident != &proc0,
		    ("wakeup and wakeup_swapper and proc0"));
		kick_proc0();
	}
}
void wakeup ( void * ident ) { int wakeup_swapper ; sleepq_lock ( ident ) ; wakeup_swapper = sleepq_broadcast ( ident , SLEEPQ_SLEEP , 0 , 0 ) ; sleepq_release ( ident ) ; if ( wakeup_swapper ) { KASSERT ( ident != & proc0 , ( " " ) ) ; kick_proc0 ( ) ; } }
Make all threads sleeping on the specified identifier runnable.
Make all threads sleeping on the specified identifier runnable .