【发布时间】:2011-01-18 16:06:26
【问题描述】:
让信号量在基于 Linux 的 C 系统上工作时遇到了很多困难。
我的申请流程是这样的:
- 应用程序启动
- 应用程序分叉到子/父
- 每个进程都使用
sem_open和一个通用名称来打开信号量。
如果我在分叉之前创建信号量,它工作正常。但是,要求阻止我这样做。当我第二次尝试调用sem_open 时,我收到“Permission Denied”错误(通过errno)。
是否有可能以任何方式做到这一点?或者有什么办法可以在一个进程中打开信号量,并使用共享内存机制与子进程共享?
【问题讨论】: