其他分享
首页 > 其他分享> > 异步通知实验

异步通知实验

作者:互联网

信号 :

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

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

标签:异步,struct,int,通知,信号,fasync,file,实验,函数
来源: https://www.cnblogs.com/tdgy/p/15423147.html