首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息队列ENOMEM

消息队列ENOMEM
EN

Stack Overflow用户
提问于 2012-01-27 23:21:17
回答 1查看 821关注 0票数 1

我在C中的mq_open遇到了一个问题,它试图创建一个队列,但我得到了以下错误。我觉得我可能试图在没有解除链接的情况下创建到许多队列,现在我已经超过了允许的数量。有没有办法显示和删除这些队列?即使在应用程序已经关闭,并且所有后续的创建尝试也失败之后,这种情况似乎仍然存在。

代码语言:javascript
复制
sprintf(idTmp->name, "/%08x%d", (uint32_t) idTmp, rand());
if ((idTmp->mq = mq_open(idTmp->name, O_CREAT, 0x666, NULL)) == -1)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-27 23:36:25

你会问:

有没有办法显示和删除这些队列?

这并不容易。常见的可疑对象(ipcsipcrm)是为System V IPC (msgget(...))设计的,而不是为POSIX IPC (mq_open(...))设计的。

检查您的mq_overview(7)手册页-您的Linux版本可能会在虚拟文件系统上创建消息队列,这可以使用典型的管理工具进行检查。根据手册页,该文件系统是这样公开的:

代码语言:javascript
复制
[root]# mkdir /dev/mqueue
[root]# mount -t mqueue none /dev/mqueue
... now ls and rm your way around ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9035612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档