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


NAME


mq_close - close a message queue

SYNOPSIS


#include <mqueue.h>

int mq_close(mqd_t mqdes);


DESCRIPTION


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.

RETURN VALUES


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

ERRORS


The mq_close() function will fail if:

EBADF
The mqdes argument is an invalid message queue descriptor.


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


ATTRIBUTES


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


+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | MT-Safe |
+--------------------+-------------------+
|Standard | See standards(5). |
+--------------------+-------------------+

SEE ALSO


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

NOTES


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 MQ_CLOSE(3C)