Name | Synopsis | Description | Return Values | Errors | Attributes | See Also | Notes
#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(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Standard |
See standards(5). |
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.
Name | Synopsis | Description | Return Values | Errors | Attributes | See Also | Notes