poll wait新的理解

2021-07-23 23:01:25 字數 823 閱讀 7042

應用程式使用 select() 或 poll() 呼叫裝置驅動程式的 poll() 函式,該函式把輸入輸出復用處理的等待佇列追加到由核心管理的程序的 poll_table()上。此時,poll() 函式上傳遞的引數包括含有裝置檔案資訊的 struct file 結構體的指標引數 struct file *filp ,以及追加到裝置驅動上的 poll_table結構體指標引數 poll_table *wait 。使用這兩個引數,然後通過poll_wait()函式,在核心上註冊輸入輸出復用條件。poll_wait() 函式表示如下:

#include

static

inline

voidpoll_wait (structfile

*filp

,wait_queue_head_t

*wait_address

,poll_table

*p);

關於應用程式中 poll() 的返回值

:應用程式中呼叫 select() 和 poll() 函式, 使程序進入睡眠之前,核心先檢查裝置驅動程式上有無對應事件的狀態,此時可通過檢視 poll() 函式的返回值獲得相關資訊.

能夠在返回值上使用的巨集變數有以下組合:

pollin, pollpri, pollout, pollerr, pollhup, pollnval,  pollrdnorm,  pollrdband,  pollwrnorm,  pollwrband, pollmsg,  pollremove 

這些值中使用最多的是下面幾個組合:

on的新理解方式

left join on的新理解方式 我可以這樣理解麼,on之後跟的是2部分 關係 第1部分是2張表的連線 a.id b.id 第2部分是 置空關係 a.ceshi type in 4 當他們and 之後,肯定先執行第一部分 左連線 然後再置空 第2部分關係 select from test1 a ...

對於ajax的新理解

今天又對ajax有了乙個新的認識,ajax只有佈屬在伺服器上才能正常訪問,而不能直接在資料夾中開啟來訪問。最近在研究sencha touch框架,下了乙個最新的官方包,結果裡面的example不能直接在瀏覽器中開啟,而放在tomcat中就可以訪問,一直很奇怪,後來發現是development.js ...

對struct cred新理解

到現在我還沒有看到cred被加入核心的mainline,可惜啊,不過我個人認為它是很不錯的,其精髓就是補丁 上的那一句,就是將權力和授權分離,這句話看似有點不知所云,難道權力不就是授權嗎?其實是不一樣的,權力有一種與生俱來的意思,它是客觀的東西,所謂天 賦人權是也,而授權有種主觀的意思,它可能是暫時...