Linux驅動修煉之道 按鍵

2021-08-25 18:50:24 字數 727 閱讀 1522

declare_wait_queue_head(name);

或者用動態的方法:

wait_queue_head_t my_queue; init_waitqueue_head(&my_queue);

linux核心中的休眠方式是使用wait_event巨集,如下:

wait_event(queue,condition); wait_event_interruptible(queue,condition); wait_event_timeout(queue,condition,timeout); wait_event_interruptible_timeout(queue,condition,timeout);

queue是等待佇列頭,condition是等待條件。如果condition為0,則進行阻塞;否則,不阻塞。wait_event_interruptible巨集與wait_event巨集的區別是wait_event_interruptible是可以被訊號中斷的。當程序休眠時,它將期待某個條件在未來成為真;當乙個程序被喚醒時,它必須再次檢測它所等待的條件的確為真。

用來喚醒等待佇列的函式:

void wake_up(wait_queue_head_t *queue); void wake_up_interruptible(wait_queue_head_t *queue);

wake_up會喚醒等待在給定queue上的所有程序。wake_up_interruptible只會喚醒那些執行可中斷休眠的程序。

Linux驅動修煉之道

一些學習linux驅動的筆記整理在這裡與大家分享,如果那裡有錯誤也請高手指出。若干年後能進入intel開源中心或ibm搞linux kernel是我目前的目標。君子藏器於身,待時而動。文章 不斷更新中。linux驅動修煉之道 流水燈 linux驅動修煉之道 按鍵 linux驅動修煉之道 lcd背光與...

Linux驅動修煉之道

linux驅動修煉之道 流水燈 linux驅動修煉之道 按鍵 linux驅動修煉之道 lcd背光與gpio控制 linux核心訪問外設i o資源的方式 linux裝置管理檔案系統,mdev,熱插拔 linux驅動修煉之道 混雜裝置 linux驅動修煉之道 clock框架 linux裝置模型 上 之底...

Linux驅動修煉之道

linux驅動修煉之道 流水燈 linux驅動修煉之道 按鍵 linux驅動修煉之道 lcd背光與gpio控制 linux核心訪問外設i o資源的方式 linux裝置管理檔案系統,mdev,熱插拔 linux驅動修煉之道 混雜裝置 linux驅動修煉之道 clock框架 linux裝置模型 上 之底...