#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: