Невозможно создать многопоточность после увеличения размера сообщения mqueue

В моем программном обеспечении C я создал 10 потоков (многопоточность) и записывал сообщения в очередь сообщений. Я также создал еще 1 поток для мониторинга очереди и вывода данных из другого конца очереди.

Он работал нормально, но размер сообщения застрял по умолчанию (10).

Из форума я узнал, как увеличить размер mqueue, запустив "echo number>/proc/sys/fs/mqueue/msg_max", где я поставил "number" как 100 в Linux (Ubuntu).

Однако после этого изменения, когда я снова запускаю свое программное обеспечение, я не могу создать (pthread_create) более 4 потоков. Остальные 7 потоков создают сообщения об ошибках. Все было хорошо, прежде чем кроме очереди было слишком мало.

Пожалуйста, могу я спросить, как я могу восстановить значение по умолчанию для msg_max, чтобы я мог снова запустить программу?

Также есть ли другой способ увеличить размер mqueue?

Большое спасибо.

Ура,

Дженис

0 ответов

Мы попробовали 10 > /proc/sys/fs/mqueue/msg_max и все снова хорошо. - Дженис Мэн

Другие вопросы по тегам