file_operations 结构体为什么没有处理 close 的函数
对比 Windows 驱动,IRP_MJ_CLOSE 就相当于 release 吧 ?
可是怎么没有处理相当于 IRP_MJ_CLEANUP 的函数 ?
如下情况:
./prog1 与 ./prog2 都 open 了自写驱动的设备 /dev/xxxx 进行各种操作
当./prog1 仍旧运行时 ./prog2 程序遇到如下情况:
1.调用了close
2.调用close前崩溃
3.调用close前被结束掉了
按照结构体成员说明,只有两个程序都调用了 close 后(引用计数达到0,对象被销毁)才会调用 release(不知道两个程序在调用close之前都被结束掉这个情况下,是否也调用 release ,我没找到说明,且还未试验)。
而我需要响应其中一个程序在遇到前文描述的情况时所"产生的事件",这可行吗?
我用的Linux内核版本是 2.6.36.4。