在内核源码中的位置:linux-2.6.30/include/linux/spinlock.h
宏定义格式:# define spin_lock_init(lock) \
do { *(lock) = SPIN_LOCK_UNLOCKED; } while (0)
宏功能描述:
宏spin_lock_init( ):初始化自旋锁lock,其实是将自旋锁指针lock 指向SPIN_LOCK_UNLOCKED宏,该宏的定义在内核文件linux-2.6.30/include/linux/spinlock_types.h中,它表示自旋锁的状态为未加锁。
输入参数说明:
lock:指向自旋锁结构体的一个指针,自旋锁结构体spinlock_t 在内核文件linux-2.6.30/include/linux/spinlock_types.h中定义:
typedef struct {
raw_spinlock_t raw_lock;
#ifdef CONFIG_GENERIC_LOCKBREAK
unsigned int break_lock;
#endif
#ifdef CONFIG_DEBUG_SPINLOCK
unsigned int magic, owner_cpu;
void *owner;
#endif
#ifdef CONFIG_D