MQ_CLOSE(3C) Standard C Library Functions MQ_CLOSE(3C)

mq_close - close a message queue

#include <mqueue.h>
int mq_close(mqd_t mqdes);

The mq_close() function removes the association between the message queue descriptor, mqdes, and its message queue. The results of using this message queue descriptor after successful return from this mq_close(), and until the return of this message queue descriptor from a subsequent mq_open(3C), are undefined.

If the process (or thread) has successfully attached a notification request to the message queue via this mqdes, this attachment is removed and the message queue is available for another process to attach for notification.

Upon successful completion, mq_close() returns 0; otherwise, the function returns −1 and sets errno to indicate the error condition.

The mq_close() function will fail if:


The mqdes argument is an invalid message queue descriptor.


The mq_open() function is not supported by the system.

See attributes(7) for descriptions of the following attributes:

Interface Stability Committed
MT-Level MT-Safe
Standard See standards(7).

mq_notify(3C), mq_open(3C), mq_unlink(3C), mqueue.h(3HEAD), attributes(7), standards(7)

Solaris 2.6 was the first release to support the Asynchronous Input and Output option. Prior to this release, this function always returned −1 and set errno to ENOSYS.

February 5, 2008 OmniOS