mq_setattr()

Установить атрибуты очереди

Прототип:

#include <mqueue.h>
int mq_setattr( mqd_t mqdes,
const struct mq_attr *mqstat,
struct mq_attr *omqstat );

Аргументы:

mqdes
The message-queue descriptor, returned by mq_open(), of the message queue that you want to set the attributes of.
mqstat
A pointer to a struct mq_attr that specifies the attributes that you want to use for the message queue. For more information about this structure, see mq_getattr().
omqstat
NULL, or a pointer to a struct mq_attr where the function can store the old attributes of the message queue.

Библиотека:

Описание:

The mq_setattr() function sets the mq_flags field for the specified queue (passed as the mq_flags field in mqstat). If omqstat isn't NULL, then the old attribute structure is stored in the location that it points to.


Note: Neutrino supports two implementations of message queues: a traditional implementation, and an alternate one that uses asynchronous messages. For more information, see the entries for mq and mqueue.

This function ignores the mq_maxmsg, mq_msgsize, and mq_curmsgs fields of mqstat. The mq_flags field is the bitwise OR of zero or more of the following constants:

O_NONBLOCK
No mq_receive() or mq_send() will ever block on this queue. If the queue is in such a condition that the given operation can't be performed without blocking, then an error is returned, and errno is set to EAGAIN.


Note: The settings that you make for mq_flags apply only to the given message-queue description (i.e. locally), not to the queue itself.

Возвращаемое значение:

-1
Возникла ошибка. Код ошибки записан в errno.
≠-1
Успешное завершение.

Коды ошибок:

EBADF
Invalid message queue mqdes.

Классификация:

POSIX 1003.1 MSG

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

struct mq_attr, mq_getattr(), mq_open(), mq_receive(), mq_send()

mq, mqueue в Справочнике по Утилитам




Предыдущий раздел: Описание API системной библиотеки