当前位置: 技术问答>linux和unix
内核空间与用户空间通讯
来源: 互联网 发布时间:2016-12-12
本文导语: 现在写一个IO驱动程序,会触发中断,想将这个中断信息通知应用程序。 用了sigqueue()这个函数 先写了个应用程序测试,发送信号,可以接收到。 但是写到驱动程序里编译时就出现警告(我加了头文件 #include ) ...
现在写一个IO驱动程序,会触发中断,想将这个中断信息通知应用程序。
用了sigqueue()这个函数
先写了个应用程序测试,发送信号,可以接收到。
但是写到驱动程序里编译时就出现警告(我加了头文件 #include )
warning: implicit declaration of function `sigqueue'
insmod时
io_irq: Unknown symbol sigqueue
insmod: error inserting 'io_irq.ko': -1 Unknown symbol in module
这会是什么问题啊?
用了sigqueue()这个函数
先写了个应用程序测试,发送信号,可以接收到。
但是写到驱动程序里编译时就出现警告(我加了头文件 #include )
warning: implicit declaration of function `sigqueue'
insmod时
io_irq: Unknown symbol sigqueue
insmod: error inserting 'io_irq.ko': -1 Unknown symbol in module
这会是什么问题啊?
|
内核里面有个
int
send_sig(int sig, struct task_struct *p, int priv)
{
return send_sig_info(sig, __si_special(priv), p);
}
在include/linux/sched.h 头文件里面的
int
send_sig(int sig, struct task_struct *p, int priv)
{
return send_sig_info(sig, __si_special(priv), p);
}
在include/linux/sched.h 头文件里面的