一个Posix有名信号量问题
本帖最后由 转瞬繁华 于 2011-04-07 17:14 编辑
获得信号量后没有释放,第二次运行该程序时,无法取得信号量
接着,我调用sem_unlink删除该信号量,第一成功,第二次失败
两次运行中的怎么访问的是同一个信号量?
这个有名信号量是存在本地或者是内存中?
怎么查询?
未命名.jpg (38.27 KB, 下载次数: 4)
获得信号量后没有释放,第二次运行该程序时,无法取得信号量
未命名1.jpg (28.89 KB, 下载次数: 3)
接着,我调用sem_unlink删除该信号量,第一成功,第二次失败
两次运行中的怎么访问的是同一个信号量?
这个有名信号量是存在本地或者是内存中?
怎么查询?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个信号量就是为了应用于进程间的同步
你创建信号量之后会在 /dev/shm 底下看到一个虚拟的文件
第一个问题
你程序关闭后,并没有删除这个文件,即没有unlink,信号量资源没释放,
所以你下一个程序获取不到
第二个问题
你删除一遍后,那个虚拟文件已经被删了 第二次删除当然就没了