看板 LinuxDev 關於我們 聯絡資訊
大家好 最近專案碰到一些問題 我發現 做了A動作 便會觸發driver裡面的read function 但是 如果作了某些動作後 之後 做了A動作 便不再觸發read 了 我找了很久 都找不到這個read是再那被執行的 我一直以為像read和write這種 都是採無窮迴圈方式去運作 但實際去試 好像又不是這樣 由於我沒有硬體底子 所以希望各位大大可以給我點方向 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.178.1
askacis:userspace呼叫read system call會到driver的read function 03/23 02:43
askacis:查一下搞不好你的fd 被close掉了~ 03/23 02:43
mayasky:strace一下~不然就GDB看 一下 03/24 03:13
MacacaQQ:得看驅動怎麼寫但是如果是字元裝置的read跟write的話 03/31 00:15
MacacaQQ:你程式呼叫的read/write確實會持續呼叫driver裡的rd/wr 03/31 00:16
MacacaQQ:read直到driver回傳為零,write直到回傳你所寫入值的大小 03/31 00:17
MacacaQQ:驅動才會停止處理你當時呼叫read/write的指令這樣 03/31 00:17