mq_unlink(3) — Subroutines
NAME
mq_unlink − Removes a message queue (P1003.1b)
SYNOPSIS
#include <mqueue.h>
int mq_unlink (
const char ∗name);
LIBRARY
Realtime Library (librt.so, librt.a)
PARAMETERS
∗name
Specifies a pointer to the pathname of a message queue.
DESCRIPTION
The mq_unlink function removes a message queue named by the pathname. After a successful call to this function, subsequent calls to the mq_open function fail if they specify the queue identified by the name argument and the O_CREAT option is not set.
Close the connection to the queue with a call to the mq_close function before calling the mq_unlink function. If one or more processes have the message queue open when mq_unlink is called, destruction of the queue is postponed until all references to the message queue are removed. In this situation, the mq_unlink function returns immediately, without waiting for all queue references to be closed.
RETURN VALUES
On successful completion, the function returns the value 0 (zero); otherwise, the function returns the value −1, sets errno to indicate the error, and the message queue remains.
ERRORS
The mq_unlink function fails under the following conditions:
[EACCES]
Permission is denied to unlink the message queue.
[ENAMETOOLONG]
The length of the name string exceeds {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
[ENOENT]
The named message queue does not exist.
Additionally, any error that can be returned by the open or fstat file system calls can be returned by the mq_unlink function.
SEE ALSO
Functions: mq_close(3), mq_open(3)
Guide to Realtime Programming