gpt4 book ai didi

c - 获取最大消息数和最大消息大小的内核消息队列大小的默认值

转载 作者:行者123 更新时间:2023-11-30 15:52:47 25 4
gpt4 key购买 nike

gcc 4.7.2 c89

你好,

我正在使用 posix 消息队列:mq_create、mq_send、mq_receive 等。

我试图找出内核支持的默认消息大小(attr.msgsize)和最大消息(attr.maxmsg)。

目前我已经这样做来自己设置默认值:

#define MQ_MAXMSGS_DEFAULT 10
#define MQ_MSGSIZE_DEFAULT 8192

当我在命令行上收到用户的输入时,如果用户输入的值超出了这些默认值,我将使用它们来设置默认值:

long msg_size = atol(optarg);
attr->mq_msgsize =
(msg_size > MQ_MSGSIZE_DEFAULT ? MQ_MSGSIZE_DEFAULT : msg_size);

但是,这不太可移植,因为我已经对默认值进行了硬编码,而在不同平台上可能会有所不同。

是否有可用于获取默认值的系统调用?

非常感谢您的建议,

最佳答案

可以通过从proc文件系统读取来获取该值 /proc/sys/fs/mqueue/msgsize_max

关于c - 获取最大消息数和最大消息大小的内核消息队列大小的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153835/

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