mq_close — close a message queue descriptor


#include <mqueue.h>

int mq_close(mqd_t mqdes);

Link with -lrt.


mq_close() closes the message queue descriptor mqdes.

If the calling process has attached a notification request (see (mq_notify(3)) to this message queue via mqdes, then this request is removed, and another process can now attach a notification request.

Return Value

On success mq_close() returns 0; on error, -1 is returned, with errno set to indicate the error.



The message queue descriptor specified in mqdes is invalid.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
mq_close() Thread safety MT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008.


All open message queues are automatically closed on process termination, or upon execve(2).

See Also

mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3), mq_unlink(3), mq_overview(7)


This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at

Referenced By

mq_getattr(3), mq_notify(3), mq_open(3), mq_overview(7), mq_receive(3), mq_send(3), mq_unlink(3).

2017-09-15 Linux Programmer's Manual