异步通知实验

2021/10/19 6:09:39

本文主要是介绍异步通知实验,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

信号 :

  软件层次上的“中断”,也叫做软中断信号,软件层次上对中断机制的一种模拟, 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)

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



这篇关于异步通知实验的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程