[問題] driver read 觸發

看板LinuxDev作者 (Maiko)時間12年前 (2013/03/23 00:00), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
大家好 最近專案碰到一些問題 我發現 做了A動作 便會觸發driver裡面的read function 但是 如果作了某些動作後 之後 做了A動作 便不再觸發read 了 我找了很久 都找不到這個read是再那被執行的 我一直以為像read和write這種 都是採無窮迴圈方式去運作 但實際去試 好像又不是這樣 由於我沒有硬體底子 所以希望各位大大可以給我點方向 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.178.1

03/23 02:43, , 1F
userspace呼叫read system call會到driver的read function
03/23 02:43, 1F

03/23 02:43, , 2F
查一下搞不好你的fd 被close掉了~
03/23 02:43, 2F

03/24 03:13, , 3F
strace一下~不然就GDB看 一下
03/24 03:13, 3F

03/31 00:15, , 4F
得看驅動怎麼寫但是如果是字元裝置的read跟write的話
03/31 00:15, 4F

03/31 00:16, , 5F
你程式呼叫的read/write確實會持續呼叫driver裡的rd/wr
03/31 00:16, 5F

03/31 00:17, , 6F
read直到driver回傳為零,write直到回傳你所寫入值的大小
03/31 00:17, 6F

03/31 00:17, , 7F
驅動才會停止處理你當時呼叫read/write的指令這樣
03/31 00:17, 7F
文章代碼(AID): #1HJ80p4L (LinuxDev)
文章代碼(AID): #1HJ80p4L (LinuxDev)