linux.conf.au, January 2003 PRACTICALITIES: More Common Functions Often you want to sleep until something happens. We usually use a "wait queue". Step 1: Create a wait_queue_head_t: DECLARE_WAIT_QUEUE_HEAD(my_wq); OR wait_queue_head_t my_wq; init_waitqueue_head(&my_wq) Step 2: To sleep on it Create a wait_queue_t to use. DEFINE_WAIT(me, current); OR wait_queue_t me; init_wait(&me);