mq_unlink(3R) manual page
Table of Contents
mq_unlink - remove a message queue
cc [ flag ... ] file ... -lposix4
[ library ... ]
#include <mqueue.h>
int mq_unlink(const char *name);
MT-Safe
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.
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.
- 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.
mq_close(3R)
,
mq_open(3R)
In Solaris 2.5, 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.
Table of Contents