mq_close(2)

mq_close2

Close a message queue (realtime)

Usage

#include <mqueue.h>

int

mq_close(mqd_t mqdes);

Library

library “librt”

Overview

The mq_close() system call 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(), are undefined.

If the process has successfully attached a notification request to the message queue via this mqdes, this attachment will be removed, and the message queue is available for another process to attach for notification.

Return values

The mq_close() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

Errors

The mq_close() system call will fail if:

[EBADF]

The mqdes argument is not a valid message queue descriptor.

Releases

44 releases since FreeBSD 7.0-RELEASE; the text changed 30 times.

  1. 7.0
  2. 7.1
  3. 7.2
  4. 7.3
  5. 7.4
  6. 8.0
  7. 8.1
  8. 8.2
  9. 8.3
  10. 8.4
  11. 9.0
  12. 9.1
  13. 9.2
  14. 9.3
  15. 10.0
  16. 10.1
  17. 10.2
  18. 10.3
  19. 10.4
  20. 11.0
  21. 11.1
  22. 11.2
  23. 11.3
  24. 11.4
  25. 12.0
  26. 12.1
  27. 12.2
  28. 12.3
  29. 12.4
  30. 13.0–13.2
  31. 13.3–16.0

Standards

The mq_close() system call conforms to IEEE Std 1003.1-2004 (“POSIX.1”).

History

Support for POSIX message queues first appeared in FreeBSD 7.0.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.