mq_setattr - set the blocking status of a message queue associated
with a descriptor
int mq_setattr(mqd_t mqdes,
const struct mq_attr *mqstat,
struct mq_attr *omqstat,
The mq_setattr() system call changes the blocking status of a message
queue associated with the descriptor, mqdes. The blocking status that
is modified is per message queue descriptor and another open
descriptor for the same message queue can have a different blocking
The argument mqstat, points to an mq_attr structure that specifies the
blocking status desired. More specifically, if the O_NONBLOCK bit in
the mq_flags field of the mq_attr structure is set, the descriptor is
marked as non-blocking. Otherwise it is marked as blocking.
If omstat is non-NULL, mq_setattr() will store in the mq_attr
structure referenced by omqstat, the previous message queue attributes
and the queue blocking status associated with this mqdes. The values
returned are the same as would be returned by a call to mq_getattr().
mq_setattr() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
If mq_setattr() fails, errno is set to one of the following values:
[EBADF] mqdes is not a valid message queue descriptor.
[EINVAL] mqstat does not point to a valid mq_attr
structure, or omqstat is non-NULL and does not
point to a valid mq_attr structure.
[ENOSYS] mq_setattr() is not supported by the
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
mq_setattr(): POSIX 1003.1b
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000