- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#l37b39c0]
#backlinks
*説明 [#l667dfa7]
-パス: [[linux-2.6.33/]]
-FIXME: これは何?
--説明
**引数 [#d38e1094]
-n
--
--[[linux-2.6.33/]]
-f
--
--[[linux-2.6.33/work_func_t]]
**返り値 [#q311d26c]
-work_struct 型の初期値
--
**参考 [#hdffe370]
*実装 [#zde58c98]
#define __WORK_INITIALIZER(n, f) { \
.data = WORK_DATA_STATIC_INIT(), \
.entry = { &(n).entry, &(n).entry }, \
.func = (f), \
__WORK_INIT_LOCKDEP_MAP(#n, &(n)) \
}
-data は atomic_long_t 型
--[[linux-2.6.33/atomic_long_t]]
--[[linux-2.6.33/WORK_DATA_STATIC_INIT()]]
-entry は list_head 型
--[[linux-2.6.33/list_head]]
-func は work_func_t 型
--[[linux-2.6.33/work_func_t]]
-func の後ろは lockdep_map 型の lockdep_map メンバが続く
--他のメンバ同様に .lockdep_map = ... と初期化しても良さそうだが、
lockdep_maps は CONFIG_LOCKDEP が有効でなければ存在しないため、
あえて名前を指定せずに初期化して、コンパイルエラーを回避している。
たぶんね。
--[[linux-2.6.33/__WORK_INIT_LOCKDEP_MAP()]]
*コメント [#q5840cee]