gpt4 book ai didi

c - mq_unlink 将 errno 设置为 EEXIST

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:05 25 4
gpt4 key购买 nike

我在服务器中使用消息队列进行线程间通信。服务器在星期四晚上按预期运行。当我周一重新选择项目时,它无法创建正在使用的六个队列中的两个,理由是它们已经打开(O _ EXCL 已设置)。这不应该是这种情况,但我还是添加了一个 mq _通过错误检查取消链接调用并删除了 O _来自 mq 的 EXCL 标志 _打开。

当我编译并运行时,errno 被两个 mq _ 设置为 EEXIST |取消链接和 mq _打开。这应该是不可能发生的:mq _ unlink在任何情况下都不能设置errno为EEXIST,mq _打开时只能设置EEXIST O _设置了 EXCL 标志。

知道为什么会这样吗?

最佳答案

我认为这是一个 Solaris 错误。检查锁定文件(通常是 /var/tmp/.MQL/...),如果您知道消息队列未在使用中,则将其删除。这应该允许 unlink 成功。

关于c - mq_unlink 将 errno 设置为 EEXIST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com