應用程式使用 select() 或 poll() 呼叫裝置驅動程式的 poll() 函式,該函式把輸入輸出復用處理的等待佇列追加到由核心管理的程序的 poll_table()上。此時,poll() 函式上傳遞的引數包括含有裝置檔案資訊的 struct file 結構體的指標引數 struct file *filp ,以及追加到裝置驅動上的 poll_table結構體指標引數 poll_table *wait 。使用這兩個引數,然後通過poll_wait()函式,在核心上註冊輸入輸出復用條件。poll_wait() 函式表示如下:
#includestatic
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,可惜啊,不過我個人認為它是很不錯的,其精髓就是補丁 上的那一句,就是將權力和授權分離,這句話看似有點不知所云,難道權力不就是授權嗎?其實是不一樣的,權力有一種與生俱來的意思,它是客觀的東西,所謂天 賦人權是也,而授權有種主觀的意思,它可能是暫時...