*参照元 [#z3a188a3]
#backlinks

*説明 [#m05f5104]
-パス: [[linux-4.4.1/fs/select.c]]

-FIXME: これは何?
--説明


**引数 [#ccbbcb23]
-wait_queue_t *wait
--
--[[linux-4.4.1/wait_queue_t]]
-unsigned mode
--
-int sync
--
-void *key
--


**返り値 [#l49ae154]
-int
--


**参考 [#w44af076]


*実装 [#yd1bbf65]
 static int __pollwake(wait_queue_t *wait, unsigned mode, int sync, void *key)
 {
 	struct poll_wqueues *pwq = wait->private;
 	DECLARE_WAITQUEUE(dummy_wait, pwq->polling_task);
 
-
--[[linux-4.4.1/poll_wqueues]]
--[[linux-4.4.1/DECLARE_WAITQUEUE()]]

 	/*
 	 * Although this function is called under waitqueue lock, LOCK
 	 * doesn't imply write barrier and the users expect write
 	 * barrier semantics on wakeup functions.  The following
 	 * smp_wmb() is equivalent to smp_wmb() in try_to_wake_up()
 	 * and is paired with smp_store_mb() in poll_schedule_timeout.
 	 */
 	smp_wmb();
 	pwq->triggered = 1;
 
-
--[[linux-4.4.1/smp_wmb()]]

 	/*
 	 * Perform the default wake up operation using a dummy
 	 * waitqueue.
 	 *
 	 * TODO: This is hacky but there currently is no interface to
 	 * pass in @sync.  @sync is scheduled to be removed and once
 	 * that happens, wake_up_process() can be used directly.
 	 */
 	return default_wake_function(&dummy_wait, mode, sync, key);
-
--[[linux-4.4.1/default_wake_function()]]

 }


*コメント [#pe03fe05]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS