mq_setattr()

QNX SDP8.0C Library ReferenceAPIDeveloper

Set a queue's attributes

Synopsis:

#include <mqueue.h>

int mq_setattr( mqd_t mqdes, 
                const struct mq_attr* mqstat,
                struct mq_attr* omqstat );

Arguments:

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 mq_attr structure that specifies the attributes that you want to use for the message queue. For more information about this structure, see mq_getattr(); for information about which attributes you can set, see below.
omqstat
NULL, or a pointer to a mq_attr structure where the function can store the old attributes of the message queue.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

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:
The message queue manager needs to be running. For more information, see the entry for mqueue in the Utilities Reference.

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.

Returns:

-1 if the function couldn't change the attributes (errno is set). Any other value indicates success.

Errors:

EBADF
Invalid message queue mqdes.

Classification:

POSIX 1003.1 MSG

Safety:
Cancellation pointNo
Signal handlerNo
ThreadYes
Page updated: