URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6248
[ Назад ]

Исходное сообщение
"Как узнать ограничения на значения mq_attr?"

Отправлено primus , 09-Мрт-07 20:52 
система - SUSE 10.0
вызываемая функция - mq_open
если при открытии использовать mq_attr, то при mq_attr.maxmsg=10 mq_attr.msgsize=256
очередь создается, а при mq_attr.maxmsg=50 mq_attr.msgsize=256 - ошибка "Invalid argument".
Есть ли общий способ узанть об ограничениях (существуют, какие), для портабельности?

Содержание

Сообщения в этом обсуждении
"Как узнать ограничения на значения mq_attr?"
Отправлено sas , 10-Мрт-07 14:46 
>система - SUSE 10.0
>вызываемая функция - mq_open
>если при открытии использовать mq_attr, то при mq_attr.maxmsg=10 mq_attr.msgsize=256
>очередь создается, а при mq_attr.maxmsg=50 mq_attr.msgsize=256 - ошибка "Invalid argument".
>Есть ли общий способ узанть об ограничениях (существуют, какие), для портабельности?


http://www.die.net/doc/linux/man/man2/setrlimit.2.html


"Как узнать ограничения на значения mq_attr?"
Отправлено primus , 11-Мрт-07 19:59 

>>Есть ли общий способ узанть об ограничениях (существуют, какие), для портабельности?
>
>
>http://www.die.net/doc/linux/man/man2/setrlimit.2.html

Спасибо. То что надо.


"Как узнать ограничения на значения mq_attr?"
Отправлено primus , 11-Мрт-07 21:46 
>>система - SUSE 10.0
>>вызываемая функция - mq_open
>>если при открытии использовать mq_attr, то при mq_attr.maxmsg=10 mq_attr.msgsize=256
>>очередь создается, а при mq_attr.maxmsg=50 mq_attr.msgsize=256 - ошибка "Invalid argument".
>>Есть ли общий способ узанть об ограничениях (существуют, какие), для портабельности?

Рано радовался. getrlimit возвращает 819200( в двух полях одно и тоже значение), несложный подсчет показывает, что при размере сообщения 256 байт, кол-во сообщений может быть 819200/(256+4)~3150 штук. "А у меня Мандриан". Что делать?



"Как узнать ограничения на значения mq_attr?"
Отправлено primus , 18-Мрт-07 11:58 
В общем надо, смотреть /proc/sys/fs/mqueue/*, там все есть.