【求助】多进程中 内核信号量无效?

用户程序、内核程序都是自己写的。

用户态进程,fork后多进程。
每个进程都会调用ioctl函数。ioctl实现两个命令处理:1)进入内核态,在里面获取一个信号量,2)进入内核态,释放这个信号量。想依靠这种机制实现多进程同步。
但是不知道为什么,每个进程获取信号量都成功了。


信号量在驱动初始化的时候已经初始化好了,实在想不明白,信号量怎么会无效呢?

作者: geminilz   发布时间: 2011-05-09

不知道你怎么用的信号量。
用户进程用的信号是在pthread库实现的,内核程序用的信号量和用户信号量我不知道你说的是不是同一个东西。

还有内核的编译的时候是不可能调用标准C库的。

作者: yong_f   发布时间: 2011-05-09

内核不会调用标准C库,内核写的是驱动程序,信号量是内核中的信号量,是一个全局变量。
我用的是2.6的内核

我查了下,与这个人的问题类似
http://www.unixresources.net/linux/clf/linuxK/archive/00/00/21/87/218726.html

作者: geminilz   发布时间: 2011-05-09