home | help
MQ_UNLINK(2)		       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_un-
     link()  is called, destruction of the message queue will be postponed until
     all references to the message queue have been closed.  However, the  mq_un-
     link()  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  repre-
			sented 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 Specifica-
     tions  Issue  6, Copyright (C) 2001-2004 by the Institute of Electrical and
     Electronics Engineers, Inc and The Open Group.  In the event  of  any  dis-
     crepancy  between	this  version  and  the original IEEE and The Open Group
     Standard, the original IEEE and The Open Group Standard is the referee doc-
     ument.  The original Standard can be obtained  online  at	http://www.open-
     group.org/unix/online.html.

FreeBSD 15.1			February 15, 2021		    MQ_UNLINK(2)

home | help