异步通知程序编写方法

来源:互联网 发布:手机淘宝6.7.6版本 编辑:程序博客网 时间:2024/05/31 11:04

一、 初始化

应用程序:

              signal(SIGIO, &input_handler);

              fcntl(fd, F_SETOWN, getpid());

              oflags = fcntl(fd, F_GETFL);

              fcntl(fd, F_SETFL, oflags | FASYNC); //FASYNC被修改,触发驱动中的fasync函数

驱动程序:

              fasync_helper(fd, filp, on, &key_async_queue);

 

二、工作调用:

驱动程序:

              kill_fasync(&key_async_queue, SIGIO, POLL_IN); //向用户空间发送信号

应用程序:

              调用注册的input_handler函数