1. 程式人生 > 實用技巧 >010_LINUX驅動之_DECLARE_WAIT_QUEUE_HEAD函式

010_LINUX驅動之_DECLARE_WAIT_QUEUE_HEAD函式

1. 功能:建立以個等待佇列頭

2. 函式原型

#define DECLARE_WAIT_QUEUE_HEAD (name)/

wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name)

#define __WAIT_QUEUE_HEAD_INITIALIZER (name) {/

.lock= __SPIN_LOCK_UNLOCKED(name.lock),/

.task_list = { &(name).task_list, &(name).task_list } }

typedef struct __wait_queue_head wait_queue_head_t ;

struct __wait_queue_head {

spinlock_t lock;

struct list_head task_list;

};

3. 使用示例:


解析上面程式:

1. 建立一個名字叫button_waitq的等待佇列頭

2. 名字任意