__io_wait_event(wq_head, condition); \ } while (0) #define __wait_event_freezable(wq_head, condition) \ ___wait_event(wq_head, condition, TASK_INTERRUPTIBLE, 0, 0, \ freezable_schedule()) /** * wait_event_freezable - sleep (or freeze) until a condition gets...
wake_up_all_locked宏在持有等待队列锁的情况下,唤醒等待队列x中的所有任务,使用TASK_NORMAL模式。 wake_up_interruptible宏唤醒等待队列x中的一个任务,使用TASK_INTERRUPTIBLE模式。 wake_up_interruptible_nr宏唤醒等待队列x中的nr个任务,使用TASK_INTERRUPTIBLE模式。 wake_up_interruptible_all唤醒等待队列x中的所有任...
Search or jump to... Search code, repositories, users, issues, pull requests... Provide feedback We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to fil...
return -EWOULDBLOCK; set_current_state(TASK_INTERRUPTIBLE); futex_queue(q, hb) unlock_hash_bucket(hb) freezable_schedule() // sleeps the current task set_current_state(TASK_RUNNING) // task has woken up futex_unqueue(q) When theFUTEX_WAIToperation is executed, the kernel calculates the has...