mq_unlink - remove a message queue
#include <mqueue.h>
mq_unlink() removes the message queue named by name . After a successful call to mq_unlink() , a call to mq_open() with the same name will fail if the flag O_CREAT is not set in flags . If one or more threads have the message queue open when mq_unlink() is called, destruction of the message queue is postponed until all references to the message queue have been closed. Calls to mq_open() to re-create the message queue may fail until the message queue is actually removed. However, mq_unlink() does not block (wait) until all references have been closed; it returns immediately.
Upon successful completion, mq_unlink() returns a value of 0 ; otherwise, the named message queue is not changed by this function call, the function returns a value of -1 and sets errno to indicate the error condition.