【问题标题】:Closing file descriptor while performing ioctl执行 ioctl 时关闭文件描述符
【发布时间】:2017-08-22 15:23:00
【问题描述】:

我正在编写一个 Linux 内核模块,而我的用户级应用程序正在循环并行 ioctl 调用(从内核模块获取信息)。但是当我想关闭文件描述符(链接到我的内核模块)时,直到ioctl函数没有退出,release函数才被执行。

我找不到任何关于它为什么会这样的原因。您知道它为什么会发生,以及如何避免这种阻塞吗?我基本上希望在我的内核模块中同时执行我的ioctlclose 函数。

谢谢! :)

【问题讨论】:

    标签: linux linux-kernel system-calls kernel-module file-descriptor


    【解决方案1】:

    我基本上希望在我的内核模块中同时执行我的ioctlclose 函数。

    你不能。

    调用.release() 方法意味着不再使用文件对象。因此,当给定文件的ioctl 正在进行时,它无法执行。

    【讨论】:

    • 感谢您的回答。那么你知道我应该如何实现我想要的行为吗?
    • 如答案所述,您不能观察.ioctl().release() 同时执行。你还想从我这里得到什么?
    • 我的意思是:你知道什么是更好的设计吗?例如,允许我对ioctl 执行并发调用?
    • 是的,你可以同时执行ioctl
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多