Книга: Основы программирования в Linux

msgget

msgget

Очередь сообщений создается и предоставляет к себе доступ с помощью функции msgget:

int msgget(key_t key, int msgflg);

Программа должна предоставить значение параметра key, которое, как и в других средствах IPC, задает имя конкретной очереди сообщений. С помощью специального значения IPC_PRIVATE создается скрытая или частная очередь, которая теоретически доступна только текущему процессу. Как и в случае семафоров и совместно используемой памяти, в некоторых системах Linux такая очередь может не быть частной. Поскольку от скрытой или частной очереди очень мало пользы, это не слишком важная проблема. Как и раньше, второй параметр msgflg состоит из девяти флагов прав доступа. Для создания новой очереди сообщений специальный бит со значением IPC_CREAT должен быть объединен с правами доступа поразрядной операцией OR. Не считается ошибкой установка флага IPC_CREAT и задание ключа уже существующей очереди сообщений. Если очередь уже есть, флаг IPC_CREAT безмолвно игнорируется.

Функция msgget вернет положительное число, идентификатор очереди; в случае успешного завершения и -1 в случае сбоя.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.328. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз