【发布时间】:2019-01-29 18:30:38
【问题描述】:
我正在为 Linux 开发一个字符设备驱动程序。
我想实现以文件描述符为目标的read() 操作,每次打开设备时都会有点具体。
可以识别调用read() 的进程(使用内核current 宏),但在此进程中可能有多个与我的设备关联的文件描述符。
我知道文件描述符在进行系统调用之前已映射到 struct file 对象,但我可以取回它吗?
【问题讨论】:
-
您已发布XY problem。这个“每次打开设备都会有点具体的操作”是什么?
-
我想创建将输入数据存储在队列中的输入设备。然后每个消费者打开我的设备应该能够读取每个输入块而不会并发或任何其他数据丢失
-
输入驱动程序实时向输入框架报告事件。无论如何,输入设备(如用户空间所见)默认情况下不是独占的。那么,您希望从当前行为中做出什么改变?
标签: linux-kernel linux-device-driver