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

Исходное сообщение
"Очереди сообщений POSIX"

Отправлено Szef , 01-Апр-05 11:36 
Добрый день!
В процессе разработки было принято использовать сабж как механизмс IPC, однако моему удивлению не было границ, когла я его у себя не нашёл...
То есть заголовочного файла mqueue.h в системе нет вообще (Mandrake 9.2).
Это как понимать?
Если кто знает откуда сей механизм можно добыть(я не знаю, может библиотека всё же есть... но я её не нашёл - не знаю названия), скажите плиз, а то вообще непонятно..
Спасибо!

Содержание

Сообщения в этом обсуждении
"Очереди сообщений POSIX"
Отправлено SergeiZz , 01-Апр-05 15:36 
>В процессе разработки было принято использовать сабж как механизмс IPC,
Обычно потом выясняется, что каналов было вполне достаточно :)

> однако моему
>удивлению не было границ, когла я его у себя не нашёл...
POSIX IPC плохо поддерживается Linux (а кем хорошо? Solaris?). В этом нет
ничего удивительного. Поддержка SysV IPC в Linux куда лучше.

>То есть заголовочного файла mqueue.h в системе нет вообще (Mandrake 9.2).
>Это как понимать?
Mandrake меня всегда удивлял... Понимать можно как то, что этот
дистрибутив не ориентирован на разработчика. ASP Linux 9.2, например,
содершит NPTL на ядре 2.4.22. Ах да, у Mandrake нужно отнять 1. Это
соответствует Red Hat 8.0 и тогда -- нет ничего удивительного. Просто,
не ушшпели ещще.

>Если кто знает откуда сей механизм можно добыть(я не знаю, может библиотека
>всё же есть... но я её не нашёл - не знаю
>названия), скажите плиз, а то вообще непонятно..
Для этого нужна поддержка со стороны ядра (после 2.6.4, если не ошибаюсь).
Вообще конечно можно просто реализовать очереди сообщений POSIX на файлах,
проецируемых в память, например; или на SysV, но это всё не здоровый
образ мысли.
Если бы я руководил проектом, то в 90% случаях жёстко настаивал бы на
использовании каналов (pipes) для IPC.


"Очереди сообщений POSIX"
Отправлено Szef , 04-Апр-05 13:12 
Спасибо за развёрнутый ответ.