NAME
mq_close — close a message queue descriptor
SYNOPSIS
#include <sys/mqueue.h>
int mq_close(mqd_t mqdes);
DESCRIPTION
The
mq_close()
system call removes the association between the message queue descriptor,
mqdes,
and a message queue. Use of this message queue descriptor by the process,
after a successful return from this
mq_close(),
and until this descriptor is returned by a subsequent
mq_open(),
will result in the failure of message queue system calls, with
errno
set to
EBADF.
If the process has a registered notification request with the message queue
associated with this
mqdes,
the registration is canceled and the queue becomes available for
another process to register a notification request.
If the message queue has been unlinked and
mqdes
is the only existing open descriptor for the queue, the queue is
destroyed.
RETURN VALUE
mq_close()
returns the following values:
- 0
Successful completion.
- -1
Failure.
errno
is set to indicate the error.
ERRORS
If
mq_close()
fails,
errno
is set to one of the following values:
- [EBADF]
mqdes
is not a valid message queue descriptor.
- [ENOSYS]
mq_close()
is not supported by the implementation.
STANDARDS CONFORMANCE
mq_close(): POSIX 1003.1b