2009-10-12 3 views

ответ

1

работа вокруг, чтобы увеличить MSGMNI System широкого максимального количество очередей сообщений: политику зависимой (на Linux, этот предел может быть прочитан и изменен с помощью /Proc/SYS/ядра/MSGMNI).

0

Эти вопросы постоянные распределения ресурсов (есть подобная одна с общей памятью) являются, почему API, System V, как правило, считается устаревшей , В этом случае вы рассматривали использование сокета домена unix или FIFO вместо очереди сообщений? Они появляются в файловой системе и могут быть «очищены», когда больше не используются с такими инструментами, как rm.

1

Вы можете изменить атрибут очереди сообщений для O_NONBLOCK, используя mq_setattr. Затем очистите очередь, прочитав все сообщения, пока возвращаемое значение не укажет, что очередь пуста. Теперь верните старые атрибуты.

Этот метод не оптимизирован для работы, но он позволяет избежать необходимости закрывать и открывать очередь сообщений.

Смежные вопросы