异步通知实验

信号 :

  软件层次上的“中断”,也叫做软中断信号,软件层次上对中断机制的一种模拟, kill -9 xxx等等

信号处理机制

信号处理函数

  应用使用signal函数,设置信号的处理函数 sighandler_t signal( int signum, sighandler_t handler);

  信号处理函数为: typedef void (*sighandler_t)(int)

  ctrl + c关闭应用,发送的SIGINT信号

驱动中对异步通知的处理

  需要实现file_operations中的fasync函数, int(*fasync)(struct file *,loff_t ,int datasync)

  实现file_operations里面的fasync函数  int (*fasync)(int , struct file *int)

  fasync还需要借助fasync_helper函数

  驱动里面调用fasync向应用发送信号  void kill_fasync(struct fasync struct **fp, int sig, int band)

  关闭驱动的时候要删除信号。

上一篇:leetcode 10. Regular Expression Matching (hard)


下一篇:异步通知fasync机制