*参照元 [#a5e1e0ac]
#backlinks

*説明 [#z516ea87]
-パス: [[linux-2.6.33/kernel/workqueue.c]]

-システムのワークキューに仕事を追加する。
--[[linux-2.6/ワークキュー]]


**引数 [#c5feef5d]
-struct work_struct *work
--システムのワークキューに追加したい仕事。

**返り値 [#mf60102d]
-int
--仕事をキューに追加した場合は 1、
キューに追加しなかった場合は 0(既にキューに追加されているなど)


**参考 [#s619c6c5]


*実装 [#w171b37e]
 /**
  * schedule_work - put work task in global workqueue
  * @work: job to be done
  *
  * Returns zero if @work was already on the kernel-global workqueue and
  * non-zero otherwise.
  *
  * This puts a job in the kernel-global workqueue if it was not already
  * queued and leaves it in the same position on the kernel-global
  * workqueue otherwise.
  */
 int schedule_work(struct work_struct *work)
 {
 	return queue_work(keventd_wq, work);
-
-keventd_wq は static 変数、workqueue_struct 型、init_workqueues() で作成。
-システムのワークキューに仕事を追加する。
--[[linux-2.6.33/workqueue_struct]]
--[[linux-2.6.33/init_workqueues()]]
--[[linux-2.6.33/queue_work()]]

 }
 EXPORT_SYMBOL(schedule_work);
-ライセンスに関係なくシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]


*コメント [#i4c59d76]

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