*参照元 [#p315847b]
#backlinks

*説明 [#d9497b0e]
-パス: [[linux-2.6.33/include/linux/spinlock_types.h]]

-スピンロックの実態を初期化する初期化子を返すマクロ。
--コンフィグによって初期化されるメンバは異なるが、
少なくとも raw_lock というメンバをもつ構造体の初期化子を返すマクロ。
--指示付き初期化子は C99 の機能だが、 GCC 拡張でもサポートされているようだ。
--[[linux-2.6.33/arch_spinlock_t]]


**引数 [#h99f4a4c]
-lockname
--初期化するスピンロック変数の名前


**返り値 [#uf47e366]
-raw_spinlock_t の指示付き初期化子


**参考 [#ca360288]


*実装 [#o2e4b13f]
 #define __RAW_SPIN_LOCK_INITIALIZER(lockname)	\
 	{					\
 	.raw_lock = __ARCH_SPIN_LOCK_UNLOCKED,	\
-スピンロックのアーキテクチャ依存部分の初期化子
--[[linux-2.6.33/__ARCH_SPIN_LOCK_UNLOCKED]]

 	SPIN_DEBUG_INIT(lockname)		\
-スピンロックのデバッグに必要なメンバの初期化子
--[[linux-2.6.33/SPIN_DEBUG_INIT()]]

 	SPIN_DEP_MAP_INIT(lockname) }
-ロック状態のスピンロックを free してしまうバグを、
検知する機能に必要なメンバの初期化子
--[[linux-2.6.33/SPIN_DEP_MAP_INIT()]]


*コメント [#x6bdd2ed]

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