*参照元 [#q066a32f] #backlinks *説明 [#gd963d4b] -パス: [[linux-2.6.33/arch/x86/include/asm/spinlock.h]] -arch_write_lock() の x86 版です。 **引数 [#k02fd7e4] -arch_rwlock_t *lock -- --[[linux-2.6.33/arch_rwlock_t]] **返り値 [#b701a392] -int -- **参考 [#m6c01ec9] *実装 [#n690fa61] static inline int arch_write_trylock(arch_rwlock_t *lock) { atomic_t *count = (atomic_t *)lock; - --[[linux-2.6.33/atomic_t]] if (atomic_sub_and_test(RW_LOCK_BIAS, count)) return 1; - --[[linux-2.6.33/atomic_sub_and_test()]] --[[linux-2.6.33/RW_LOCK_BIAS]] atomic_add(RW_LOCK_BIAS, count); - --[[linux-2.6.33/atomic_add()]] return 0; } *コメント [#rf8941f9]