信号 :
软件层次上的“中断”,也叫做软中断信号,软件层次上对中断机制的一种模拟, 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)
关闭驱动的时候要删除信号。