MQ_UNLINK(2)              FreeBSD System Calls Manual             MQ_UNLINK(2)

NAME

     mq_unlink - mq_unlink - remove a message queue (REALTIME)

LIBRARY

     POSIX Real-time Library (librt, -lrt)

SYNOPSIS

     #include <mqueue.h>

     int
     mq_unlink(const char *name);

DESCRIPTION

     The mq_unlink() function removes the message queue named by the string
     name.  If one or more processes have the message queue open when
     mq_unlink() is called, destruction of the message queue will be postponed
     until all references to the message queue have been closed.  However, the
     mq_unlink() call need not block until all references have been closed; it
     may return immediately.

     After a successful call to mq_unlink(), reuse of the name will
     subsequently cause mq_open(2) to behave as if no message queue of this
     name exists.

RETURN VALUES

     Upon successful completion, the value 0 is returned; otherwise the
     value -1 is returned and the global variable errno is set to indicate the
     error.

ERRORS

     The mq_unlink() system call will fail if:

     [EACCESS]          Permission is denied to unlink the message queue
                        represented by name.

     [EINVAL]           name is invalid.

     [ENAMETOOLONG]     The length of the name argument exceeds {PATH_MAX} or
                        a pathname component is longer than {NAME_MAX}.

     [ENOENT]           The message queue does not exist.

     [ENOSYS]           mqueuefs(4) module is neither loaded nor included in
                        the kernel.

SEE ALSO

     mq_open(2)

STANDARDS

     The mq_unlink() system call conforms to IEEE Std 1003.1-2004 ("POSIX.1").
     The [EACCESS] error code is an extension to the standard.

HISTORY

     Support for POSIX message queues first appeared in FreeBSD 7.0.

COPYRIGHT

     Portions of this text are reprinted and reproduced in electronic form
     from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology
     -- Portable Operating System Interface (POSIX), The Open Group Base
     Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of
     Electrical and Electronics Engineers, Inc and The Open Group.  In the
     event of any discrepancy between this version and the original IEEE and
     The Open Group Standard, the original IEEE and The Open Group Standard is
     the referee document.  The original Standard can be obtained online at
     http://www.opengroup.org/unix/online.html.

FreeBSD 15.1-STABLE-HBSD       February 15, 2021                  MQ_UNLINK(2)