• 异步通知机制


    为了使设备支持异步通知机制,驱动程序中涉及以下3项工作:
    1. 支持F_SETOWN命令,能在这个控制命令处理中设置filp->f_owner为对应进程ID。
       不过此项工作已由内核完成,设备驱动无须处理。
    2. 支持F_SETFL命令的处理,每当FASYNC标志改变时,驱动程序中的fasync()函数将得以执行。
       驱动中应该实现fasync()函数。
       
    3. 在设备资源可获得时,调用kill_fasync()函数激发相应的信号


    应用程序:
    fcntl(fd, F_SETOWN, getpid());  // 告诉内核,发给谁

    Oflags = fcntl(fd, F_GETFL);   
    fcntl(fd, F_SETFL, Oflags | FASYNC);  // 改变fasync标记,最终会调用到驱动的faync > fasync_helper:初始化/释放fasync_struct

  • 相关阅读:
    python输出shell命令执行结果
    python实验二:字符串排序
    python学习系列
    linux命令系列目录
    git初步
    HTML基础教程 七 高级
    HTML/CSS基础教程 六
    linux命令---sed
    linux命令---unzip
    模块
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/10571567.html
Copyright © 2020-2023  润新知