mq_unlink(3R)
NAME
mq_unlink − remove a message queue
SYNOPSIS
cc [ flag ... ] file ... −lposix4 [ library ... ]
#include <mqueue.h>
int mq_unlink(const char ∗name);
MT-LEVEL
MT-Safe
DESCRIPTION
mq_unlink() removes the message queue named by name. After a successful call to mq_unlink() with name, a call to mq_open(3R) with the same name will fail if the flag O_CREAT is not set in flags. If one or more processes 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(3R) 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.
RETURN VALUES
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.
ERRORS
EACCESS Permission is denied to unlink the named message queue.
ENAMETOOLONG
The length of the name string exceeds {PATH_MAX}, or a pathname component is longer than {NAME_MAX} while _POSIX_NO_TRUNC is in effect.
ENOENT The named message queue, name, does not exist.
ENOSYS mq_unlink() is not supported by this implementation.
SEE ALSO
BUGS
In Solaris 2.4, these functions always return −1 and set errno to ENOSYS, because this release does not support the Message Passing option. It is our intention to provide support for these interfaces in future releases.
SunOS 5.4 — Last change: 19 Aug 1993