mq_close - Man Page

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).

mq_close()Thread safetyMT-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.13 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).

2021-03-22 Linux Programmer's Manual