-
write函数中
-
////产生异步读信号
-
if(dev->async_queue)
-
kill_fasync(&dev->async_queue,SIGIO,POLL_IN);
在设备资源可以获得时,调用kill_fasync()释放SIGIO,可读时第三个参数设置为POLL_IN,可写时第三个参数设置为POLL_OUT
在ldd3 p171:当数据到达时,必须执行上述语句来通知异步读取进程。由于供给glebalmem的读取进程的新数据是由某个进程调用write产生的,所以这条语句在write方法中。
当设备可写时,在read方法中实现,这时,kill_fasync必须是 POLL_OUT