*参照元 [#x4011401] #backlinks *説明 [#p01e3914] -パス: [[linux-2.6.33/include/linux/spinlock.h]] -FIXME: これは何? --説明 **引数 [#m85e4504] -raw_spinlock_t *lock -- --[[linux-2.6.33/raw_spinlock_t]] -unsigned long flags -- **返り値 [#p5f0e2e2] -なし **参考 [#jee8a0bc] *実装 [#beb3d1b7] #if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK) - -SMP 有効の場合 --[[linux-2.6.33/CONFIG_SMP]] --[[linux-2.6.33/CONFIG_DEBUG_SPINLOCK]] (中略) #define raw_spin_lock_irqsave(lock, flags) \ do { \ typecheck(unsigned long, flags); \ - --[[linux-2.6.33/typecheck()]] flags = _raw_spin_lock_irqsave(lock); \ -SMP 有効の場合は、引数 1つの _raw_spin_lock_irqsave() を呼ぶ。 -引数 1つの _raw_spin_lock_irqsave() を呼ぶ。 --[[linux-2.6.33/_raw_spin_lock_irqsave()]] } while (0) (中略) #else (中略) -SMP 無効の場合 #define raw_spin_lock_irqsave(lock, flags) \ do { \ typecheck(unsigned long, flags); \ _raw_spin_lock_irqsave(lock, flags); \ -SMP 有効の場合は、引数 2つの _raw_spin_lock_irqsave() を呼ぶ。 -引数 2つの _raw_spin_lock_irqsave() を呼ぶ。 } while (0) (中略) #endif *コメント [#y9a2fa51]