mq_close()

Close a message queue

Synopsis:

#include <mqueue.h>

int mq_close( mqd_t mqdes );

Arguments:

mqdes
The message-queue descriptor, returned by mq_open(), of the message queue that you want to close.

Library:

Description:

The mq_close() function removes the association between mqdes and a message queue. If the current process attaches a notify to this queue for notification, the attachment is eliminated. If this queue is unlinked before the call to mq_close(), and this process is the last process to call mq_close() on the queue, then the queue is destroyed, along with its contents.

Note: The message queue manager needs to be running. QNX Neutrino supports two implementations of message queues: a traditional implementation and an alternate one that uses the mq server and a queue in kernel space. For more information, see the entries for mq and mqueue in the Utilities Reference, as well as the Managing POSIX Message Queues technote.

In the traditional (mqueue) implementation, calling close() with mqdes has the same effect as calling mq_close().

Returns:

-1 if an error occurred (errno is set). Any other value indicates success.

Errors:

EBADF
Invalid queue mqdes.

Classification:

POSIX 1003.1 MSG

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes