linux-2.6.33/__WORK_INITIALIZER()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#l37b39c0]
#backlinks
*説明 [#l667dfa7]
-パス: [[linux-2.6.33/include/linux/workqueue.h]]
-work_struct 型の変数を初期化するためのマクロ
**引数 [#d38e1094]
-n
--初期化する対象となる work_struct 型の変数名(ポインタで...
--[[linux-2.6.33/work_struct]]
-f
--work_func_t 型の関数
--[[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]
終了行:
*参照元 [#l37b39c0]
#backlinks
*説明 [#l667dfa7]
-パス: [[linux-2.6.33/include/linux/workqueue.h]]
-work_struct 型の変数を初期化するためのマクロ
**引数 [#d38e1094]
-n
--初期化する対象となる work_struct 型の変数名(ポインタで...
--[[linux-2.6.33/work_struct]]
-f
--work_func_t 型の関数
--[[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]
ページ名: