当前位置: 技术问答>linux和unix
【求助】多进程中 内核信号量无效?
来源: 互联网 发布时间:2016-11-28
本文导语: 用户程序、内核程序都是自己写的。 用户态进程,fork后多进程。 每个进程都会调用ioctl函数。ioctl实现两个命令处理:1)进入内核态,在里面获取一个信号量,2)进入内核态,释放这个信号量。想依靠这种机制实...
用户程序、内核程序都是自己写的。
用户态进程,fork后多进程。
每个进程都会调用ioctl函数。ioctl实现两个命令处理:1)进入内核态,在里面获取一个信号量,2)进入内核态,释放这个信号量。想依靠这种机制实现多进程同步。
但是不知道为什么,每个进程获取信号量都成功了。
信号量在驱动初始化的时候已经初始化好了,实在想不明白,信号量怎么会无效呢?
用户态进程,fork后多进程。
每个进程都会调用ioctl函数。ioctl实现两个命令处理:1)进入内核态,在里面获取一个信号量,2)进入内核态,释放这个信号量。想依靠这种机制实现多进程同步。
但是不知道为什么,每个进程获取信号量都成功了。
信号量在驱动初始化的时候已经初始化好了,实在想不明白,信号量怎么会无效呢?
|
不知道你怎么用的信号量。
用户进程用的信号是在pthread库实现的,内核程序用的信号量和用户信号量我不知道你说的是不是同一个东西。
还有内核的编译的时候是不可能调用标准C库的。
用户进程用的信号是在pthread库实现的,内核程序用的信号量和用户信号量我不知道你说的是不是同一个东西。
还有内核的编译的时候是不可能调用标准C库的。